app.js
const express = require("express");// 本次 http 请求实例const app = express();app.use((req, res, next) => { console.log("请求开始...", req.method, req.url); next();});app.use((req, res, next) => { // 假设在处理 cookie req.cookie = { userId: "abc123", }; next();});app.use((req, res, next) => { // 假设处理 post data // 异步 setTimeout(() => { req.body = { a: 100, b: 200, }; next(); });});app.use("/api", (req, res, next) => { console.log("处理 /api 路由"); next();});app.get("/api", (req, res, next) => { console.log("get /api 路由"); next();});app.post("/api", (req, res, next) => { console.log("post /api 路由"); next();});// 模拟登陆验证function loginCheck(req, res, next) { // setTimeout(() => { // console.log("模拟登陆成功"); // next(); // }); setTimeout(() => { console.log("登陆失败"); res.json({ error: -1, msg: "登陆失败", }); });}app.get("/api/get-cookie", loginCheck, (req, res, next) => { console.log("get /api/get-cookie"); res.json({ error: 0, data: req.cookie, });});app.post("/api/get-post-data", (req, res, next) => { console.log("post /api/get-post-data"); res.json({ error: 0, data: req.body, });});app.use((req, res, next) => { console.log("处理 404"); res.json({ error: -1, msg: "404 not fount", });});app.listen(3000, () => { console.log("server is running no port 3000");});
package.json
{ "name": "express-test", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "express": "^4.17.1" }}