node错误中间件处理 express类 带有路由操作

let express = require('express');
let app = new express();
let bodyParser = require('body-parser');
let ejs = require('ejs');
// 配置模板引擎
app.set('views','./ejs');
app.set('view engine','ejs');
app.engine('ejs',ejs.__express);

// 引入bodyParser中间件(内置中间件)
app.use(bodyParser.urlencoded({ extended:false }));
app.use(bodyParser.json());
// 配置路由
// 请求根路径时,为根路径的请求添加了一个应用级的中间件
app.use('/',(req,res,next)=>{  //路由拦截
    console.log('use')
    next();
})
app.get('/',(req,res,next)=>{
    // res.send('index');
    console.log('index');
    next();
});
app.get('/',(req,res)=>{
    res.send('news');
})
app.get('/login',(req,res)=>{
    res.render('login',{login:'123'})
})
app.post('/dologin',(req,res)=>{
    res.send(req.body);
})
// 错误处理中间件  //类似于拦截器
app.use((req,res)=>{
    res.status(404).send('不存在');
});

app.listen(3000,()=>{
    console.log('start')
})
原文地址:https://www.cnblogs.com/l8l8/p/9310325.html