【发布时间】:2016-09-13 22:10:33
【问题描述】:
我使用 Express 创建了一个 Node.js 项目,并在使用自定义路由时遇到了这个异常。
500 类型错误:fn 不是函数 在回调(/WallaceBot/WallaceBot/node_modules/express/lib/router/index.js:272:11) 在参数 (/WallaceBot/WallaceBot/node_modules/express/lib/router/index.js:246:11) 通过时(/WallaceBot/WallaceBot/node_modules/express/lib/router/index.js:253:5) 在 Router._dispatch (/WallaceBot/WallaceBot/node_modules/express/lib/router/index.js:280:5) 在 Object.Router.middleware [作为句柄] (/WallaceBot/WallaceBot/node_modules/express/lib/router/index.js:45:10) 在下一个(/WallaceBot/WallaceBot/node_modules/express/node_modules/connect/lib/http.js:204:15) 在 Object.methodOverride [作为句柄] (/WallaceBot/WallaceBot/node_modules/express/node_modules/connect/lib/middleware/methodOverride.js:35:5) 在下一个(/WallaceBot/WallaceBot/node_modules/express/node_modules/connect/lib/http.js:204:15) 在 Object.bodyParser [作为句柄] (/WallaceBot/WallaceBot/node_modules/express/node_modules/connect/lib/middleware/bodyParser.js:88:61) 在下一个(/WallaceBot/WallaceBot/node_modules/express/node_modules/connect/lib/http.js:204:15)
我在 app.js 中声明路由
var webhook = require('./routes/webhook.js');
app.get('/', routes.index);
app.get('/webhook', webhook);
在我的 webhook.js 中,
/*
* GET Webhook.
*/
exports.webhook = function(req, res){
res.render('index', { title: 'Webhook' })
};
不过,我用另一种方式在 app.js 中声明路由,比如
app.get('/webhook', function(req, res){
res.render('index', { title: 'Webhook' })
});
我没有得到那个例外。
有人知道为什么吗?
【问题讨论】:
标签: javascript node.js express