什么是express:
地址:https://www.expressjs.com.cn/
安装:npm i express -D
创建web服务器
express监听get post请求
get请求:
post请求
send()方法 返回请求
获取url中的参数:req.query中
获取url中动态参数:req.params
express静态资源托管 express.static()
把目录所有文件为静态资源
```js
const express = require('express');
const app = express();
// 文件夹路径
app.use(express.static('./PluginVideo'))
// 托管多个多次调用static
// 启动服务器
app.listen(80, () => {
console.log('启动成功:http://127.0.0.1')
})
```
挂载路径前缀app.use('',express.static())
nodemon监听代码改动
express路由
const express=requier('express');
const app=express();
最简单的用法app.get() app.post():不推荐使用
通过
模块化路由
将路由处理为单独模块
express.Ruoter()创建路由对象
moudel.exports共享对象
app.use注册对象
创建:
// 模块化路由对象
const experss = require('experss');
const router = experss.Router()
// router挂载路由
router.get('/user', (req, res) => {
console.log('成功')
res.send({
name: '成功'
})
})
// 共享
module.exports = router
导入注册模块:
app.use:用来注册中间件的
const express = require('express');
const app = express();
// 引入路由模块
const router = require('./router');
// 注册模块路由
app.use(router)
// 启动服务器
app.listen(80, () => {
console.log('服务器启动:http://127.0.0.1')
})
为路由模块添加统一的访问前缀:app.use(‘前缀’,路由);
中间件:
中间件的调用流程:
express中间件的格式:
next()的作用:是实现多个中间件函数的关键;
1:定义中间件函数:
全局生效的中间件:使用use注册就行
定义全局中间件的简化方式:app.use((req,res,next)=>{});
中间件的作用:
定义多个连续中间件:
局部调用中间件:
app.get('/use','中间件函数',(req,res)=>{ })
定义多个局部中间件函数:
注意事项:
中间件必须放在路由前面;客户端可以多个中间件;不能忘记一点调用next();
写完next后别再写代码了;连续调用多个中间件的时候中间件req,res可以共享;
中间件分类:
路由级别中间件:
错误级别中间件:
错误级别中间件必须放在所有路由之后;
express内置中间件:
experss.json
第三方中间件:
自定义中间件:
使用req.on()监听事件
使用experss写接口:
创建路由模块
解决接口跨域问题:
CORS解决方法:
一定要在路由之前挂载注册