gpt4 book ai didi

javascript - 如何处理与所有其他路线不同的一条快速路线

转载 作者:行者123 更新时间:2023-12-03 09:52:32 25 4
gpt4 key购买 nike

我目前正在 NodeJS 应用程序中使用 Express 路由器。我只是使用 app.use(app.router); 进行路由,效果很好。不过,我现在正在测试一些新路线,并希望以不同的方式处理它们。

理想情况下,我希望能够说:

var vers2Router = require('./routes/version2');

app.use('/version2', vers2Router);
app.use(app.router);

我可以这样做,以便使用 vers2Router 处理所有 /version2 路由,而仅使用 app.router 处理其余路由吗?

最佳答案

从 Express 版本 4.x 开始,app.router已被删除。路由现在按照添加的顺序执行。

现在您可以使用express.Router因为它将允许您拥有独立的路由实例,并且在您的示例中,您可以创建许多具有自己的版本化路由的路由器。

类似这样的事情:

// app.js
'use strict';

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

var userRouterV1 = require('./routes/v1/userRouter.js');
var userRouterV2 = require('./routes/v2/userRouter.js');

app.use('/v1/api/users', userRouterV1);
app.use('/v2/api/users', userRouterV2);

app.listen(4000, function () {
console.log('server up an running');
});

以及您的独立路由版本 1:

// /routes/v1/userRouter.js
'use strict';

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

router.get('/', function (req, res) {
res.send('Hello v1');
});

module.exports = router;

最后是你的独立路由版本 2:

// /routes/v2/userRouter.js
'use strict';

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

router.get('/', function (req, res) {
res.send('Hey v2');
});

module.exports = router;

关于javascript - 如何处理与所有其他路线不同的一条快速路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30848483/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com