【问题标题】:Link href in a pug template哈巴狗模板中的链接href
【发布时间】:2017-05-19 09:50:57
【问题描述】:

我使用 pug 作为 nodejs 应用程序的视图引擎。我有一个所有其他当前视图都扩展的布局,其中包含一个导航栏,其中包含指向应用程序中常见 url 的链接。

例如,登录网址的链接如下所示:

a(href='/auth/signin')`

这从根 url ('/') 可以正常工作,正确地导致 '/auth/signin'。

在包含“/auth/signin”、“/auth/signup”和“/auth/signout”路由的“/auth”模块中,行为是不同的。相反,路由与当前模块的名称连接。例如,在“/auth/signin”路由中,链接实际上是指向“/auth/auth/signin”的链接。单击它自然会导致 404,但在该页面上,登录链接是指向“/auth/auth/auth/signin”的链接。

等等等等。

我不完全了解这里发生了什么以及如何防止它。是否可以在不直接输入完整 url 的情况下在 pug 中以绝对术语链接到我的路线(由于各种原因这是不切实际的),就像在 Ruby on Rails 中使用路线助手一样?

【问题讨论】:

  • 如果您的 href 以斜杠开头,那么这些将被解释为绝对 url。然后,您的 pug 文件位于哪个文件夹中并不重要。请检查您的 href 是否始终以 / 开头。
  • 哇,我确定我已经尝试过了。尴尬!谢谢你的帮助,我快疯了。
  • 很高兴知道你把它整理出来了 :)

标签: node.js templates layout pug


【解决方案1】:

来自 cmets 的解决方案:

如果您的 href 以斜杠开头,则这些将被解释为绝对 url。然后,您的 pug 文件位于哪个文件夹中并不重要。请检查您的 href 是否始终以 / 开头。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-27
    • 2020-04-17
    • 1970-01-01
    • 2020-08-24
    相关资源
    最近更新 更多