gor*_*yef 6 routes node.js express
我正在研究 Nodejs/Express 应用程序。我使用 express-generator 创建基本结构。现在在 app.js 文件中指定所有路由
var indexRouter = require('./routes/index');
var router1Router = require('./routes/router1');
var router2Router = require('./routes/router2');
......
app.use('/', indexRouter);
app.use('/router1', router1Router);
app.use('/router2', router2Router);
Run Code Online (Sandbox Code Playgroud)
一切都按预期工作。但是,我遇到了在应用程序的根文件夹中放置 routes.js文件的建议,并且
要求此中的所有路由,然后要求 app.js 中的此文件
但是,我很难弄清楚如何正确设置它。任何建议将不胜感激。提前致谢。
保持主文件简短是一个好主意。
我把我所有的路线都放到了 routes 文件夹中。
|-- app.js
|-- routes
| |-- index.js
| |-- router1.js
| |-- router2.js
|-- startup
| |-- routes.js
Run Code Online (Sandbox Code Playgroud)
在 startup/routes.js 文件中,我像这样导入所有路由:
|-- app.js
|-- routes
| |-- index.js
| |-- router1.js
| |-- router2.js
|-- startup
| |-- routes.js
Run Code Online (Sandbox Code Playgroud)
而 App.js 我只像这样导入 startup/routes.js:
const express = require("express");
var indexRouter = require("../routes/index");
var router1Router = require("../routes/router1");
var router2Router = require("../routes/router2");
module.exports = function(app) {
app.use(express.json());
app.use("/", indexRouter);
app.use("/router1", router1Router);
app.use("/router2", router2Router);
};
Run Code Online (Sandbox Code Playgroud)
这样,当我们想在我们的应用程序中添加另一个路由时,我们将其添加到 startup/routes.js 中,而无需更改 App.js 文件,这使我们的 App.js 保持干净和简短。
您还可以稍后在需要时将其他文件(例如数据库连接)添加到启动文件夹,并将它们导入 App.js。
小智 5
实现这一目标的多种方法。这是我觉得方便的。你可以有一个路由文件夹,在那里你可以有 index.js 和你需要的其他路由的文件。示例:文件:src/routes/index.js
const express = require('express');
const contactusRoutes = require('./contactus.routes');
const apiRouter = express.Router();
apiRouter.use('/contactus', contactusRoutes);
module.exports = apiRouter;
Run Code Online (Sandbox Code Playgroud)
文件:/src/routes/contactus.routes.js
const express = require('express');
const contactusRoutes = express.Router();
const contactusController = require('../controllers/contactus.controller');
contactusRoutes.post('/', errorHandler.wrapAsync(contactusController.someFunctionName));
module.exports = contactusRoutes;
Run Code Online (Sandbox Code Playgroud)
你可以有更多这样的文件。
文件:server.js/app.js
将这些添加到 server.js/app.js
const apiRoutes = require('./src/routes/index');
server.use('/api', apiRoutes);
Run Code Online (Sandbox Code Playgroud)
谢谢 !
| 归档时间: |
|
| 查看次数: |
5721 次 |
| 最近记录: |