如何从 index.js 文件中调用两个不同的路由文件?

How to call two different route file from index.js file?

我有两条不同的路线,分别命名为:"route1" 和 "route2"

使用 index.js 文件我可以使用 app.use(route1) 文件但不能使用 route2.js 文件。

Index.js contain

var express = require('express');
const app = express();

var apiRoute = require('./apiRoute');
var apiRoute2 = require('./apiRoute2');
app.use(apiRoute);
app.listen(3000);

其中 apiRoute 具有所有 GET HTTP 方法,而 apiRoute2 具有所有 POST 方法。

所以我从评论中提出我的建议。

只需在 app.use(apiRoute); 行下方添加 app.use(apiRoute2);,如下所示:

app.use(apiRoute);
app.use(apiRoute2);

此外,为了解决您对使用多个 .use() 调用的困惑,我也将我的评论粘贴在这里:

这是完全正常的事情。考虑一个需要全局中间件的应用程序,e.x。 body-parser,你还需要在你的应用程序中有路由。已经 .use() 次使用了! ;) 别担心,使用多个 .use() 没问题

您可能想要拆分 url 以便调用这些 API 时更容易

app.use('/route1', apiRoute);
app.use('/route2', apiRoute2);

用任意字符串替换'route1'和'route2'。现在,在访问这些 API 时,您的 url 将类似于 http://localhost:3000/route1/something or http://localhost:3000/route2/somethingelse

路径 1 文件

const express = require('express');
const router = express.Router();

router.all('/',(req,res,next)=>{

      res.send("hey resonse from route 1");

});

module.exports = router;

路线2文件

const express = require('express');
const router = express.Router();

router.all('/',(req,res,next)=>{

      res.send("hey resonse from route 2");

});

module.exports = router;

Index.js

var express = require('express');
const app = express();

var route1 = require('./route1');
var route2 = require('./route2');

app.use('/route1',route1);
app.use('/route2',route2);
app.listen(3000);