gpt4 book ai didi

node.js - 快速路由 "/"

转载 作者:太空宇宙 更新时间:2023-11-03 22:36:23 26 4
gpt4 key购买 nike

在express中,在定义索引路由时,我使用“/”(有效),但是,我试图使根可配置,所以我尝试了以下操作:

var root = ""; // can be whatever, but is sometimes empty
app.get(path.join(root, ""), ...);

当我启动服务器(并导航到“索引”)时,出现错误; “Cannot GET/”,但这不就是“/”吗?它们有何不同?

为什么 "/" 有效,而 path.join("", "") 不起作用?

最佳答案

path.join("", "") 返回 .。因此,它相当于执行 app.get('.', ...); ,但它不会匹配 / 的请求。

您可以添加一个检查,以便 root 始终以前导正斜杠开头:

var root = ""; // can be whatever, but is sometimes empty
if (root[0] !== '/')
root = '/' + root;
app.get(path.join(root, ""), ...);

需要注意的一件事是,当前 path.join() 将使用特定于平台的路径分隔符行为。因此,如果您使用的是 Windows,/ 将转换为 \。例如,path.join('/', '') 在 Windows 上将返回 \。尽管 Node v0.12 将能够以跨平台的方式访问特定于平台的路径方法(例如,您可以在 Windows 上访问 *nix 路径函数)。

关于node.js - 快速路由 "/",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27803800/

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