在Node.js Express网络应用程序中,我想在我的一个视图中包含指向某些文档的链接,并将URL显示为锚文本。在Jade: Links inside a paragraph之后,我尝试了:
p See #[a(href="http://example.com/help/123") http://example.com/help/123]
但是,这会导致错误"The end of the string was reached with no closing bracket found."
如果我在锚文本周围添加引号,它主要起作用,但我最终会在HTML输出中看到引号,这是我不想要的。
p See #[a(href="http://example.com/help/123") "http://example.com/help/123"]
有关未加引号的URL的内容是否会影响括号内部内容的评估?如果是这样,我可以以某种方式逃避它以防止问题吗?
答案 0 :(得分:1)
使用变量:
-var helpurl="http://example.com/help/123"
p See #[a(href=helpurl) #{helpurl}]
URL本身的双斜杠可能被解释为注释的开头,并阻止评估者读取表达式的其余部分,包括其结束括号。
编辑:从@laggingreflex(https://github.com/jadejs/jade/issues/2144)开启的问题开始,它实际上是在Jade 2.0.0之前存在问题的冒号斜线序列。对于那些使用早期版本的人,Jade作者ForbesLindesay建议使用文字字符串的等号评估。
p See #[a(href="http://example.com/help/123")= "http://example.com/help/123"]