我有一个节点项目,发生了一些非常奇怪的事情。我有一个包含所有路由的路由文件,我在我的server.js文件中导入它。当我导入路线文件。该路由的获取请求根本不起作用,但是当我在server.js上粘贴相同的路由时,它按预期工作。文件中的其他路由正常工作,但特别是这个路由不能按预期工作。代码如下。谢谢你的帮助。
server.js
GROUP_CONCAT(id)
mainRoutes(这不起作用):
require('./server/routes/mainRoutes.js')(app);
现在,如果我将/ accounts路由放在主服务器上,它就能正常工作。由于某种原因,它永远不会在导入的mainRoutes文件中工作。
答案 0 :(得分:2)
我不确定为什么它不起作用,如果你分享应用程序启动(我知道你使用快递?)和你使用app.listen
,它会有所帮助。
无论如何,最佳做法是使用app.use
,如下所示:
server.js:
var routes = require('./server/routes/mainRoutes.js');
var express = require('express');
var app = express();
app.use('/', routes.app);
var server = app.listen(somePort, someIP, function() {
console.log('Listening...');
});
mainRoutes.js:
var express = require('express');
var app = express();
app.get('/accounts',function(req,res){
res.json({Test:'name'});
});
module.exports = {
app: app
};