Мое промежуточное ПО вызывается несколько раз, и я не могу понять, почему.Это действительно короткий код, и он очень расстраивает, так как я только начал изучать express и node.Я не понимаю, почему он даже попадает во второе промежуточное ПО, я не использовал next()
, я использовал res.send()
.
Я беру онлайн-курс, и это тот же код, что и описанный,Я также искал stackoverflow, но ничего не помогло.Я прочитал кое-что о favicon, который вызывает его во второй раз, но я не могу понять, почему он вызывается несколько раз.
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);
Если я открываю localhost:3000/add-product
, я должен войтиконсоль:
This always runs!
In first middleware!
, но на самом деле я получаю:
This always runs!
In first middleware!
This always runs!
In second middleware!
This always runs!
In first middleware!
Может ли favicon автоматически запускать все промежуточные программы один раз?Я добавил этот код перед первым app.use()
вызовом:
app.get("/favicon.ico", (req, res) => res.status(204));
Теперь я получаю
This always runs!
In first middleware!
This always runs!
In first Middleware!
Я все еще получаю его дважды.
edit edit edit:
Это происходит только в Chrome.