我像这样分开了休息api的路线。是否有更好的方法来组织路由器?或者我正在做的事情很好吗?
app.js
app.use('/api/auth',auth);
应用程序/控制器/ AUTH / index.js
var express = require('express'),
router = express.Router(),
register = require('./register');
router.get('/',function(req,res,next){
console.log("api/auth");
res.send('api/auth');
next();
});
router.use('/register',register);
module.exports = router;
应用程序/控制器/ AUTH / register.js
var express = require('express'),
router = express.Router(),
rootPath = require('app-root-path'),
User = require(rootPath+'/app/models/user');
router.post('/',function(req,res,next){
console.log("api/auth/register");
next();
});
module.exports = router;
答案 0 :(得分:1)
在swaraj'a答案的基础上,您应该将项目文件分成两个文件夹 lib 和 config 。请注意,我给你一个通用结构,应根据你的项目进行定制。
<强>配置强>
它应包含项目的所有配置文件。
<强> LIB 强>
它应该基本上包含controller.js
,routes.js
,db-ops.js
controller.js contains and exports all functions required for your program logic.
routes.js contains and exports all the routes
db-ops.js intializes db connections and contains functions that define operations on database.
所有这些文件都应该放在app.js中,这些文件将驻留在项目的根目录中。
典型的项目结构应如下所示:
lib
-routes.js
-controller.js
-db-ops.js
config
-config.json
app.js
答案 1 :(得分:0)
您可以创建一个包含所有单独路线的routes.js
。
像,
module.exports = function (app) {
app.use('/api/route1', require('path/to/route1'));
app.use('/api/route2', require('path/to/route2'));
};
将此路线装入主app.js
。
require('path/to/routes')(app);
示例的无耻插件,https://github.com/swarajgiri/express-bootstrap/blob/master/web/routes.js