主页 > 创业  > 

寒假学习记录16:Express框架(Node)


后续会补充

1.引入express         1.先下载express框架

                创建一个package.json格式的文件,里面写入

{ "dependencies": { "express": "~4.16.1" //express版本号 } }

                然后打开终端输入

npm i         2.引入express模块 const express = require("express"); const app = express(); 2.使用express         监听端口号 const port = 5000; app.listen(port,()=>{ console.log(`server listen on ${port}`) })         处理请求 语法:app.请求方式("请求路径",(req,res)=>{})

                如果不写请求路径,则匹配所有路径 --> 同 " * "

                :路径参数名 --> 匹配动态路径参数,会自动匹配

                例:

app.get("/news/:id/:index",(req,res)=>{ console.log("请求头",req.headers); console.log("请求路径",req.path); //会自动转换为对象 console.log("query",req.query); //问号后面的 console.log("params",req.params); //问号前面的动态路径参数 });         处理响应 语法:res.send(响应内容);

                例:

app.get("/news/:id/:index",(req,res)=>{ res.send({ //send无需手写end() id:123, name:"aa" }) res.setHeader("a","123");//设置响应头 res.redirect(302,"重定向路径")//设置重定向 }); 3.Express中间件

        类似封装一个功能函数

        中间件的使用,可以不写请求路径(匹配所有情况)

app.use("请求路径",require("中间件"))         1.处理错误的中间件小案例 //处理错误的中间键 module.exports = (err,req,res,next)=>{ if (err) { //如果发生了错误 const errObj = { code: 500, msg: err instanceof Error ? err.message : err, }; res.status(500),send(errObj); } else { next(); //如果没有错误发生就执行下一个函数 } }         2.处理静态资源中间件

                express.static()

                        当请求时,会根据请求路径,从指定的目录中寻找是否存在该文件

                                如果存在:直接响应文件内容,而不再移交给后续的中间件

                                如果不存在:则直接移交给后续的中间件处理

                        默认情况下,如果映射的结果是一个目录,则会自动使用index.html文件

                                更改默认文件

app.use(express.static(..., { index: "abc.html" //在这里配置就行 }))

                用例:

const path = require("path"); const staticRoot = path.resolve(__dirname,"../public"); app.use(express.static(staticRoot))         3.处理数据中间件

                express.urlencoded()        (x-www-form-urlencoded)

app.use(express.urlencoded({ extended: true }))

                express.json()        (JSON)

app.use(express.json())

                两个一般一起使用

app.use(express.urlencoded({ extended: true })) app.use(express.json()) Express路由

        用法        (方便处理基路径)

                创建

const express = require("express"); const router = express.Router(); router.get("/",(req,res)=>{ res.send("具体的处理"); }) module.exports = router;

                使用

app.use("基路径",require("路由路径")) cookie         cookie        (信息载体,类似于小船)

                浏览器发请求给服务器        

                服务器通过cookie给浏览器发验证信息

                浏览器发(请求+cookie[验证信息])给服务器

                (浏览器和服务器都存数据)(数据过多服务器会炸)

        session        (类似加密后的验证信息)

                浏览器发请求给服务器        

                服务器通过cookie给浏览器发session

                浏览器发(请求+cookie[session])给服务器

                (浏览器和服务器都存数据)(数据过多服务器会炸)

        token        (JSON Web Token  JWT)(类似身份凭证)

                浏览器发请求给服务器

                服务器通过cookie给浏览器发身份凭证

                浏览器发(请求+cookie[身份凭证])给服务器

                (浏览器存数据,服务器只存一个密钥就行)

        ——————————————————————————————

nodemon

        npm i -g nodemon                  安装

        nodemon 要使用的js文件       启动

        如果报错的话

                1.以管理员的身份打开powerShell

                2.输入set-ExecutionPolicy RemoteSigned 回车

                3.输入y 回车

标签:

寒假学习记录16:Express框架(Node)由讯客互联创业栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“寒假学习记录16:Express框架(Node)