gpt4 book ai didi

node.js - 快速路由定义前导斜杠是否有技术原因?

转载 作者:太空宇宙 更新时间:2023-11-04 03:30:31 24 4
gpt4 key购买 nike

我对 Node.js 和 Express 还很陌生(而且对一般的 http 东西也比较陌生)。在浏览各种教程时,我很好奇为什么路由中定义的路径总是有一个前导斜杠。您将拥有类似 router.get('/sub_path', handler); 的内容,可以使用 app.use('/parent', the_router); 之类的内容进行安装,然后可以通过像 http://localhost:3000/parent/sub_path 这样的地方访问整个内容。我尝试省略对 get()use() 调用中的斜杠,果然一切都停止正常工作。

是否有技术原因表明斜杠是必要的,或者这只是一个任意的设计决定(也许是为了一致性或清晰度或其他原因)?我没有在服务器中看到任何错误,那么是否存在缺少斜杠实际上起到了有用作用的情况?

最佳答案

好吧,当您有一个像 http://www.somedomain.com/somepath 这样的 URL 时,该 URL 中的路径就是 /somepath。它不是somepath。它是/somepath。因此,如果您想将上述 URL 与路由匹配,则需要匹配 /somepath

我认为 Express 可以“假设”每个路由字符串的前面都有一个隐式的 "/" 并且不会让您键入它,但这会有点误导。您要求匹配的路线以 / 开头。

您可以使用正则表达式来匹配路由,但这是我见过的唯一不使用前导 / 的情况。

要进一步讨论设计/编写代码时的实际开发人员动机,您必须询问实际编写 Express 的人。我们不能在这里谈论这些。

关于node.js - 快速路由定义前导斜杠是否有技术原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38650755/

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