有人可以向我解释为什么我的快递路线没有悬挂?我经常看到抛出以下错误:
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
答案 0 :(得分:1)
函数声明在javascript中提升但函数表达式不是。函数表达式为:
var fn = function() {};
功能解除:
function fn() {};