Node.js 快车路线定义为前导正斜杠有技术原因吗?

Node.js 快车路线定义为前导正斜杠有技术原因吗?,node.js,http,express,url-routing,Node.js,Http,Express,Url Routing,我对Node.js和Express非常陌生(通常对http内容也比较陌生)。在阅读各种教程时,我很好奇为什么路径中定义的路径总是有一个前导正斜杠。您将拥有类似于路由器.get('/sub_path',handler)的东西将使用类似于app.use('/parent',_路由器)的东西装载然后整个东西都可以通过http://localhost:3000/parent/sub_path。我试着在调用get()和use()时省略斜杠,确保事情停止正常运行 是否有必要使用斜杠的技术原因,或者这只是一个

我对Node.js和Express非常陌生(通常对http内容也比较陌生)。在阅读各种教程时,我很好奇为什么路径中定义的路径总是有一个前导正斜杠。您将拥有类似于路由器.get('/sub_path',handler)的东西将使用类似于
app.use('/parent',_路由器)的东西装载然后整个东西都可以通过
http://localhost:3000/parent/sub_path
。我试着在调用
get()
use()
时省略斜杠,确保事情停止正常运行


是否有必要使用斜杠的技术原因,或者这只是一个任意的设计决策(可能是为了一致性、清晰性或其他原因)?我在服务器中没有看到任何错误,因此是否存在缺少斜杠的情况确实有用呢?

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

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

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


对于设计/编写代码时实际开发人员动机的进一步讨论,您必须询问实际编写Express的人员。这不是我们可以说的。

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

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

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


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

我怀疑是否有“技术”原因,因为正确地生成express join path片段很简单(请参阅nodejs API中的
path.join()
)。原因可能或多或少是强制执行语义模式。我怀疑是否有“技术”原因,因为正确地生成快速连接路径片段(请参阅nodejs API中的
path.join()
)。原因可能或多或少是强制执行语义模式。