一、 express 相关 API(介绍两三个重要 API 即可)
1.express.json
如果他发现你请求的body是一个json,会通过监听data事件把json解析出来放到body里面
image.png
2.express.static
默认做一个静态服务器,访问“yyy”下面的文件,如果有就返回,没有就是next
app.use(express.static("yyy"))
image.png
3.express.Router 第五部分讲
image.png
4. express.raw
自动帮你把二进制文件变成body
二、 app 相关 API(介绍两三个重要 API 即可)
1.app.set
case sensitive routing 大小写路由 必须放到第一个
app.set('views','frank')//设置视图目录
app.set('views engine','pug')//设置视图模板 pug、 ejs等
app.set("title","my title")
2.app.get
app.get("title")
app.get("/xxx",fn) //两个参数就是get请求
3.app.post \ app.put \ app.delete
app.post("/test",(req,res,next))=>{
res.send('post/test')
}
app.put("/test",(req,res,next))=>{
res.send('put/test')
}
app.delete ("/test",(req,res,next))=>{
res.send('delete /test')
}
4.app.render //渲染模板
5.app.use //最通用的
6.app. locals //添加一些变量等。。
三、 request 相关 API(介绍两三个重要 API 即可)
概况:28个API
需要特别学习的:
1.req.get('Content-Type')//获取请求头
2.req.param('name')//获取对应参数
//localhost:3000/users/1?name=ss
app.get('/users/:id',(request,response,next)=>{
console.log(request.params)//1,拿不到name
}
3.req.range()
req.range(1000) 最大1000
分片下载,通过head可以知道资源是否支持分片下载
四、 response 相关 API(介绍两三个重要 API 即可)
1.response.set()//设置请求头
2.response.status(401)
3.response.append()//设置请求头 再加一个值
4.response.attachment()//文件下载,比如 filename=”logo.png" 兼容性不太好
5.response.cookie()//设置cookie
6.response.clearCookie()//清除cookie
7.response.download("/url")//下载
7.response.end//结束了,就不能再写了
五、 router 示例(介绍两三个重要 API 即可)
路由
image.png
单独创建一个routers目录,放一个user.js
const express = require('express')
var router = express.Router()
router.get('/',()=>{})//路径就不用再写user了
router.get('/:id',()=>{})
router.get('/:id/edit',()=>{})
module.exports = router
然后app.js里就可以
const user = require('./routes/user')
app.use('/users',user)
1.router.all()
不管用什么方法请求
2.router.METHOD()
可以用GET PUT POST 。。。
3.router.param()
如果满足某个条件就触发某个函数