【问题标题】:Express.js set each route on seperate fileExpress.js 在单独的文件中设置每个路由
【发布时间】:2019-11-08 15:50:12
【问题描述】:

我在 express.js 中设置了一个 Web 应用程序并保持一切井井有条,我希望将每条路线保留在其自己的单独文件中,并将这些文件保存在两个文件夹中,一个用于 GET,一个用于 POST。我该怎么做呢?

我想要一个主 server.js 文件和一个包含两个子文件夹的文件夹,一个用于 GET,一个用于 POST,每个路径包含一个文件

这是一张图表:

server.js
routes/
├── get/
│   ├── login.js
│   ├── register.js
│   └── home.js
└── post/
    ├── login.js
    └── register.js

【问题讨论】:

    标签: node.js express routes


    【解决方案1】:

    使用 express.Router() 将允许您将处理程序分离到不同的文件中。您可以简单地将它们包含在您的主 server.js 中 只需导出自定义路由器。

    我建议将相关功能放在一起,而不是将 get 和 post 路由拆分到不同的目录中。例如,您可能有处理用户相关任务的 users.js 和用于文档等的另一个 documents.js。您还可以将应用程序添加到应用程序。和其他路线的路线。

    试试

    $ npm install -g express-generator
    $ express-generator
    

    示例:

    server.js

    var route1 = require('./routes/route_1'); // Include custom router 1
    var route2 = require('./routes/route_2'); // Include custom router 2
    var app = express();
    app.use('/route1', route1);
    app.use('/route2', route2);
    

    route_1.js

    var express = require('express');
    var router = express.Router();
    router.get('/', function(req, res, next) {  // handle specific get/post/etc methods
      ...
    });
    module.exports = router;
    

    route_2.js

    var express = require('express');
    var router = express.Router();
    router.get('/', function(req, res, next) {
      ...
    });
    module.exports = router;
    

    【讨论】:

      猜你喜欢
      • 2014-10-09
      • 1970-01-01
      • 2020-05-25
      • 1970-01-01
      • 2013-02-27
      • 2016-10-27
      • 1970-01-01
      • 2017-11-03
      • 2015-05-29
      相关资源
      最近更新 更多