繁体   English   中英

Express js:将多个路由文件转换为单个文件

[英]Express js:multiple route files into single file

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

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

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

route / 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文件

我怎样才能做到这一点??

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

检查此链接http://katieleonard.ca/blog/2016/nested-routes-with-expressjs/

您的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
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM