1、全局自定义中间件
在有多个接口的情况下 且有类似于token验证的情况下 就会产生大量重复代码,此时就需要一个中间件 将公共部分提取出来操作。
const app = express();
app.use('/' , (req,res,next) =>{
//在此处做token验证处理。如果都OK得话 就执行next()函数,表示条件均符合情况 可以继续往下执行。否则不允许往下继续执行代码。
})
2、局部自定义中间件
例如:
app.get('test1',(req,res,next) =>{},(req,res,next) =>{});
可以一直重复写function箭头函数。
3、内置中间件(静态资源目录)
const express = require('express');
const path = require('path');
const app = express();
app.use(express.static(path.join(__dirname,'./hehe')));
//__dirname 当前文件的根目录。
//path.join(__dirname,'./hehe') 当前文件根目录与第二个参数./hehe 进行拼接
app.listen(3000,()=>{
console.log('sever start!')
});
最后直接是 域名:端口号 直接指向规定的静态目录。
还有一种写法
app.use('./',express.static(path.join(__dirname,'./hehe')));
如果是/根路径 可以默认不写第一个参数 但是如果写上的话 就在端口号加上对应的名称即可访问。
建议第二种写法。利于区分。