【发布时间】:2016-05-16 13:37:04
【问题描述】:
有人可以向我解释为什么我的 Express 路线没有挂起吗?我经常看到抛出以下错误:
throw new TypeError('Router.use() requires middleware functions');
以下文件不会产生错误:
var express = require('express'),
router = express.Router()
var loadWidget = function (req, res, next) {
req.widget = { text: 'Widget' };
return next();
};
var sendWidget = function (req, res, next) {
return res.status(200).send(req.widget);
};
router.use(loadWidget);
router.get('/', sendWidget);
module.exports = router;
然而,改变方法的顺序,如下面的文件,确实抛出错误:
var express = require('express'),
router = express.Router()
router.use(loadWidget);
router.get('/', sendWidget);
var loadWidget = function (req, res, next) {
req.widget = { text: 'Widget' };
return next();
};
var sendWidget = function (req, res, next) {
return res.status(200).send(req.widget);
};
module.exports = router;
我想让我的文件在文件开头包含操作(use、get、post 等)以及以下函数的实际主体。
附带说明,当我第一次调用应用程序时会引发错误。用 nodemon 发送rs 不会抛出错误:
导致错误:
NODE_APP='app01' nodemon ./server/server
没有错误:
rs
【问题讨论】:
标签: javascript node.js express nodemon