【发布时间】:2026-02-22 23:35:01
【问题描述】:
我在尝试将中间件添加到我的应用程序时遇到以下错误:
throw new TypeError('Router.use() requires callback function');
MyMiddleware.js
module.exports = function(options) {
var err = checkOptions(options);
if(err) {
throw err;
}
var middleware = function(req, res, next) {
// do something here
}
return middleware;
}
这就是我添加中间件的方式:
var MyMiddleware = require('./server/middlewares/MyMiddleware');
var middleware = MyMiddleware(config);
router.use('/path', middleware);
app.use('/', router);
我使用的是 express 4.x 版本。
【问题讨论】:
-
当你
throw err时发生这种情况吗? -
@Jordonias 我在服务器启动期间收到此错误
-
@Jordonias 不,这不是由于抛出错误
-
你确定吗?在 if 语句中添加
console.log(err);。 -
@Jordonias 是的,我 100% 确定,因为我还没有实现 checkOptions 它是空方法
标签: javascript node.js express callback middleware