gpt4 book ai didi

javascript - 如何正确使用Express 4多路路由器

转载 作者:行者123 更新时间:2023-11-30 10:02:25 25 4
gpt4 key购买 nike

我正在尝试使用 Express 4 路由器根据路径使用不同的路由器。我希望所有 /api/v2/ 路由都由 version2 处理,所有其他路由都由 version1 处理。以下设置正确地为我提供了所有 version1 路由,但似乎忽略了 version2,因为我每次测试这些端点时都会收到“无法获取...”消息。

路由.js:

var version1 = require('./routes/vers1');
var version2 = require('./routes/vers2');

module.exports = function(app) {

app.all('/api/v2/*', version2);

app.all('/*', version1);

};

最佳答案

方法路由(.get.post,当然还有.all)是终端。这就是为什么您也可以对它们使用通配符的原因。 .use 不是终结符,也不允许使用通配符——它充当前缀。这是 express 的一个实现选择。使用不带通配符的 .use

app.use("/*", version1) 起作用的事实纯属偶然。这将匹配任何路由并落入 version1[method](path)。由于没有要剥离的前缀,如果请求路由匹配 path,express 将认为这是一个匹配项并提供该路由。

使用 .use

关于javascript - 如何正确使用Express 4多路路由器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30902000/

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