我正在观看this视频,以在NodeJS(v16.19.0)和ExpressJS(v4.18.2)中创建一个简单的服务器。
app.js
const express = require("express");
const app = express();
// Middleware
const middleware = (req, res, next) => {
console.log(`Hello my middleware`);
next(); //error on this line: next is not a function
}
middleware();
app.get("/", (req, res) => {
res.send(`Hello world from server`);
});
app.listen(3000, () => {
console.log("server runnin at port 3000");
});
错误:当我运行app.js时,next不是一个函数。如何解决这个问题
1条答案
按热度按时间daupos2t1#
您遇到的错误是因为您定义的中间件函数被作为常规函数调用,而不是作为Express路由中的中间件使用。下一个函数由Express提供,允许您将控制传递给链中的下一个中间件函数或路由处理程序。
要使用中间件功能,需要将其连接到快速路由,如下所示: