如何使用 Express.Router() 将我的路线拆分成多个文件?

How do I split up my routes using Express.Router() into multiple files?

我想弄清楚如何将我的 routes.js 文件中的路由拆分为多个文件。我当前的 routes.js 文件如下所示:

const pullController = require('./controllers/pullController');
const userController = require('./controllers/userController');

const routes = require('express').Router();
routes.get('/openpullinfo', pullController.getOpenPullRequestInfo);
.
.
.
routes.post('/user', userController.createUser);

module.exports = routes;

我想为每个控制器创建一个不同的路由文件(即 userRoutes.js),因为我的单个 routes.js 文件中的路由太多,变得难以管理。

您可以创建一组路由文件(userRoutes.jspullRoutes.js...)。在这些文件中,您可以use the express.Router class to create modular, mountable route handlers。然后在主文件中,将所有路由器安装到 Express 应用程序中。

示例:

  • userRoutes.js
const express = require('express');
const router = express.Router();

router.get('/', function (req, res) {

    res.send('Get users controller');
});

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

    res.send('Post user controller');
});

module.exports = router;
  • server.js
const express = require("express");
const app = express();

app.use(express.urlencoded())
app.use(express.json())


const userRoutes = require('./userRoutes');

app.use('/users', userRoutes);

app.listen(80);

在浏览器中,http://localhost/users 给我文本 Get users controller