【发布时间】:2015-01-19 18:05:13
【问题描述】:
为了便于维护,我想划分我的服务器路由:
server.js(启动应用):
require('./routes/allRoutes')(app);
allRoutes.js:
module.exports = function(app){
//don't I need to pass (app) below? This will not work as is
var Group1 = require('../routes/Group1/groupRoutes')(app),
Group2 = require('../routes/Group2/groupRoutes')(app);
app.use('/group1', Group1);
app.use('/group2', Group2);
}
groupRoutes.js:(在 Group1 文件夹中)
module.exports = function(app){
//don't I need to pass (app) below? This will not work as is
var SubGroup1 = require('../routes/Group1/subGroup1Route')(app);
.....
app.use('/subgroup1', SubGroup1);
}
subGroup1Routes.js:(在 Group1 文件夹中)
var FooCrtl = require('../../controllers/Group1/subGroup1/FooCtrl');
module.exports = function(app){
app.get('/api/foo', FooCtrl.get);
app.post('/api/foo', FooCtrl.post);
}
AngularJs FooSvcs:
....
return {
getFoo: function(){
return $http({
method: 'GET',
url: '/group1/subgroup1/api/foo', <--- NOT WORKING
});
},
双重问题:
在服务器端,我不需要将“app”作为参数传递到路由树吗?我试过了,但发现一个错误。
在上面的场景中,我的角度工厂的正确 url 是什么,因为我没有什么不起作用。
【问题讨论】: