我在expressjs的单独文件夹中有路由。该设置对'索引'页面工作正常,但不适用于任何其他路由。nodejs ExpressJS路由只能用于索引
这是我的index.js,位于我的路线文件夹内。
module.exports = function(db) {
return {
index: function(req, res, next) {
res.send('index');
}
}
}
这是我的join.js,在我的路线文件夹中。
module.exports = function(db) {
return {
join: function(req, res, next) {
res.send('join');
}
}
}
在我app.js,我这样定义我的路线:
var routes = require('./routes')(db);
app.get('/', routes.index);
app.get('/join', routes.join);
当我去http://localhost:3000
,但是当我去http://localhost:3000/join
我得到Cannot GET /join
如果我定义我的路线加入像这样:
app.get('/join', function(req, res){
res.send('join 2');
});
This works。
任何想法我在这里做错了吗?
谢谢!
+1“但后来记得这是所有”只是JavaScript“,并能够糊涂一个答案。” !神话般的回答:) – 2013-01-11 08:33:54
“模块在第一次加载后被缓存”http://nodejs.org/api/modules.html#modules_caching – 2013-09-04 20:29:05