小编Mar*_*ess的帖子

Express 中间件被多次调用

我的中间件被多次调用,但我不明白为什么。这是一个非常短的代码,而且非常令人沮丧,因为我刚刚开始学习 Express 和 Node。我不明白为什么它甚至进入第二个中间件,我没有使用next(),我使用了res.send()

我正在参加在线课程,它的代码与描述的相同。我也搜索了 stackoverflow 但没有任何帮助。我确实读过一些关于第二次调用它的图标的内容,但我不明白为什么它被多次调用。

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

app.use("/", (req, res, next) => {
    console.log("This always runs!");
    next();
});

app.use("/add-product", (req, res, next) => {
    console.log("In first middleware!");
    res.send("<h1>Add Product</h1>");
});

app.use("/", (req, res, next) => {
    console.log("In second middleware!");
    res.send("<h1>Hello from express!</h1>");
});

app.listen(3000);
Run Code Online (Sandbox Code Playgroud)

如果我打开,localhost:3000/add-product我应该进入控制台:

This always runs!
In first middleware!
Run Code Online (Sandbox Code Playgroud)

但我实际上得到:

This always runs!
In first middleware!
This always runs!
In second middleware!
This always …
Run Code Online (Sandbox Code Playgroud)

javascript middleware node.js express

7
推荐指数
1
解决办法
5665
查看次数

标签 统计

express ×1

javascript ×1

middleware ×1

node.js ×1