Express学习(二)摸石头过河的中间件

139 阅读1分钟

常规用法

const express = require("express");
const app = express();

app.use((req, res, next) => {
    console.log("必经之路");
    next();
});
app.get(
    '/',
    (req, res, next) => {
        req.data = 123;
        next();
    },
    (req, res, next) => {
        console.log("通过中间件取到的值", req.data); // 123
        res.send("end");
    }
);
app.get('/index', (req, res, next) => {
    consooooole.log("错误");
});
app.use((err,req,res,next)=>{
    console.error(err.stack);
    res.status(500).send("Something broke !")
});
app.listen(8080, () => {
    console.log("服务已启动")
});

用下面这段代码“兜底”

app.use((err,req,res,next)=>{
    console.error(err.stack);
    res.status(500).send("Something broke !")
});

cookie-parser

const express = require("express");
const app = express();

const cookieParser = require("cookie-parser");
app.use(cookieParser());
app.get('/index', (req, res, next) => {
    res.send(req.cookies); // {}
    res.end();
});

app.listen(8080, () => {
    console.log("服务已启动")
});