结合ExpressJS中多个文件的路由?

时间:2015-09-24 17:36:11

标签: node.js express

两个文件合并路由的最佳方法是什么,以便Express Router在相同级别处理它们?我在考虑这样的事情:

默认路由文件
每次生成器运行时都会生成并覆盖此文件:

var express     = require('express'),
    router      = express.Router(),
    custom      = require('./custom.routes');

router.get('/', function (req, res) {
});
router.post('/', function (req, res) {
});
router.put('/', function (req, res) {
});

router.use('/', custom);

module.exports = router;

自定义路线文件
该文件只会在第一次生成,永远不会被覆盖。

var express = require('express'),
    router  = express.Router();

router.post('/custom-method', function (req, res) {

});

module.exports = router;

父路线文件
此文件不断生成和覆盖。它负责提供顶级api路线:

var express = require('express'),
    apiRouter  = express.Router();

var widgetRouter = require('./widget.routes');
apiRouter.use('/widgets', widgetRouter);

var sprocketRouter = require('./sprocket.routes');
apiRouter.use('/sprockets', sprocketRouter);

module.exports = apiRouter;

显而易见的目标是允许开发人员自定义路线并知道即使再次运行发电机,他的工作也是安全的。

1 个答案:

答案 0 :(得分:4)

/[A-Z][^\.!\?]*[\.!\?]+/g 并不一定需要深入了解树。您可以在导出第一个文件之前添加以下行。

router.use()

使用此功能,您还可以从自定义文件中删除包装器。