分开(组织)快递路线

时间:2015-12-07 03:59:49

标签: javascript node.js express

我像这样分开了休息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;

2 个答案:

答案 0 :(得分:1)

在swaraj'a答案的基础上,您应该将项目文件分成两个文件夹 lib config 。请注意,我给你一个通用结构,应根据你的项目进行定制。

  • <强>配置

    它应包含项目的所有配置文件。

  • <强> LIB

    它应该基本上包含controller.jsroutes.jsdb-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.jsrequire('path/to/routes')(app);

示例的无耻插件,https://github.com/swarajgiri/express-bootstrap/blob/master/web/routes.js