我正在使用pug作为nodejs应用程序的视图引擎。我有一个每个其他当前视图都扩展的布局,其中包含一个导航栏,其中包含指向应用程序中常用网址的链接。
例如,登录网址的链接如下所示:
a(href='/auth/signin')`
这可以从根网址(' /')正常工作,正确导致' / auth / signin'。
在' / auth'包含' / auth / signin',' / auth / signup'的路由的模块和' / auth / signout',行为不同。相反,路由与当前模块的名称连接在一起。例如,在' / auth / signin'路由,链接实际上是指向' / auth / auth / signin'的链接。点击它自然会导致404,但在该页面上,登录链接是指向' / auth / auth / auth / signin'的链接。
依此类推。
我不完全了解这里发生了什么,以及如何预防。是否可以在绝对条件下链接到我的路线而不直接输入完整的URL(由于各种原因这是不切实际的),就像你在Ruby on Rails中使用路由助手一样?
答案 0 :(得分:1)
评论中的解决方案:
如果您的href以斜线开头,则这些将被解释为绝对URL。然后,您的pug文件位于哪个文件夹中都没有关系。请检查您的href始终以/开头。