【问题标题】:Express js:multiple route files into single fileExpress js:将多个路由文件合并为单个文件
【发布时间】:2018-04-17 22:27:30
【问题描述】:

在我的 express.js 应用程序中,我按以下方式组织我的路线

routes/comment.js(处理所有评论路由)

var express = require('express');
var router = express.Router();
var comment = require('../controller/comment');
router.route('/new').get(comment.create);
module.exports = router;

routes/post.js(处理所有发布路线)

var express = require('express');
var router = express.Router();
var post = require('../controller/post');
router.route('/new').get(post.create);
module.exports = router;

并且我以这种方式包含在 app.js 文件中

//need to include these declarations into another file and include that file here
  //eg: require('config/main-routes');

    /*
     routes like comment/new
    */
    var comment  = require('./routes/comment');
    app.use('/comment',comment);
    /*
     routes like post/new
    */
    var post  = require('./routes/post');
    app.use('/post',post)

这很好用,但是我想将它包含到另一个文件中,比如说 config/route-main.js 并将其链接到 app.js 文件

我该怎么做??

【问题讨论】:

  • 我不明白。你想把这两个文件合并成一个文件吗?
  • nop,想在app.js 文件中包含路由声明到另一个文件
  • @RishabhMishra 问题用 app.js 文件中的相关 cmets 编辑我希望这能澄清你的疑问

标签: javascript node.js express routes


【解决方案1】:

app.js 中包含

var routes  = require('./config/route-main');
app.use('/',routes);

在 route-config.js 中

var express = require('express');
var router = express.Router();
var comment  = require('./routes/comment');
var post  = require('./routes/post');

router.use('/comment',comment);
router.use('/post',post)


module.exports = router

查看此链接:

https://katieleonard.ca/blog/2016/2016-04-12-nested-routes-with-expressjs/

【讨论】:

    【解决方案2】:

    您的app.js 文件:

    const Express = require('express');
    const app = Express();
    
    const Routes = require('./routes');
    app.use('', Routes);
    

    您的routes.js 文件:

    const Express = require('express');
    const Router = Express.Router();
    
    const UsersController = require('./controllers/usersController');
    
    Router.post('/users', UsersController.CreateUser);
    
    module.exports = Router;
    

    您的usersController.js 文件:

    const CreateUser = (req, res, next) => {
      // DO STUFF HERE
    }
    
    module.exports = {
      CreateUser
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-27
      • 2015-08-14
      • 2011-11-10
      • 1970-01-01
      • 1970-01-01
      • 2012-06-23
      • 2019-03-14
      相关资源
      最近更新 更多