Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在Jade中的行末尾添加空格_Node.js_Express_Pug - Fatal编程技术网

Node.js 在Jade中的行末尾添加空格

Node.js 在Jade中的行末尾添加空格,node.js,express,pug,Node.js,Express,Pug,我有以下代码: 问题是,它被渲染为 <p>Avatar hosted by<a href="http://www.gravatar.com/" target="_blank">Gravatar</a></p> 由 这看起来像是:“阿凡达主持” 无论我在文本行的末尾添加了多少空格,它仍然是这样的。文档帮不了我,我无法想象这是一个如此罕见的问题。编辑: 正如jmar777所指出的,jade的最新版本应该尊重尾随空格。这太棒了,我可能会在未来的项目中

我有以下代码:

问题是,它被渲染为

<p>Avatar hosted by<a href="http://www.gravatar.com/" target="_blank">Gravatar</a></p>

这看起来像是:“阿凡达主持”

无论我在文本行的末尾添加了多少空格,它仍然是这样的。文档帮不了我,我无法想象这是一个如此罕见的问题。

编辑:
正如jmar777所指出的,jade的最新版本应该尊重尾随空格。这太棒了,我可能会在未来的项目中再次尝试jade

编辑:
更新了jade解析器的链接。是针对jade 1.11的。

您使用的是哪个版本的jade?我刚刚测试了(使用0.25.0)在“by”后面有一个空格,它工作正常

其他选择包括:

p
    | Avatar hosted by&nbsp;
    a(href='http://www.gravatar.com/', target='_blank') Gravatar

p
|阿凡达由
|  

您确定这不是您的编辑器吗?我使用Komodo,它被设置为在保存时去掉尾随空格。当我保存文件时,它正在剥离文本行末尾的空间。我的文本和链接之间缺乏空间,这让我发疯,直到我发现这一点。我将Komodo的设置(首选项->编辑器->保存选项)更改为取消选中带尾随空白,问题就消失了

如果您不希望代码中包含内联HTML或HTML实体,您可以这样做:

p
    | Avatar hosted by
    =  ' '
    a(href='http://www.gravatar.com/', target='_blank') Gravatar
或者这个短一点

p= 'Avatar hosted by '
    a(href='http://www.gravatar.com/', target='_blank') Gravatar
最干净的可能是这个

p Avatar hosted by #{''}
    a(href='http://www.gravatar.com/', target='_blank') Gravatar

我在新行使用
空格
变量。这:

p
    | You must follow
    =space
    a(href=default_url) this link

Jade现在支持内联标记的插值

p this is #[strong test] of how jade will treat #[i #[u inline tags]]... like #[a(href="/") anchor tags] and #[+a() mixins].

一个快速而干净的解决方案是使用以下语法:

p
    | Avatar hosted by
    | 
    a(href='http://www.gravatar.com/', target='_blank') Gravatar
请注意第二行的
|
后面的空格。这将在前一行的文本后添加一个空格(如果忘记添加,还会抛出一个严重错误!)

到目前为止,在我看来,这是最干净的选择。

我使用的是竖琴,而佩斯卡·戈梅兹(byÓscar Gómez)的竖琴抛出了一个错误,尽管它看起来非常优雅

多亏了ааааПааааааааааа1072

#{' '} 及

另外,如果你的情况正好相反: 跨文本#{ref+['']}

以下是关于帕格(Jade)中语法插值的更多信息:

看起来我没有在
包.json中添加版本约束。很高兴知道最近的版本没有删除文本块末尾的所有空格和换行符。它可能不会删除,但您的编辑器可能会删除。如果有更简单的方法就好了。这也是我的问题。在Web Storm中,若要禁用此选项,请转到首选项并搜索尾部。在页面底部的Other下有一个选项“保存时删除尾随空格”。
|a(href=)http://www.gravatar.com/'目标=''空白''Gravatar
将按原样输出(与@RolandBertolom不同,我不确定否决一个两年前提出的问题,因为框架已经改变了,这是处理保持一致历史数据的正确方法。为什么不建议编辑或评论它已经改变了?你可以看到,这个问题的公认答案与我的答案完全相同……显然,Jade已经改变了d、 @lfender6445谢谢。我已经用最新版本的jade解析器进行了更新,并保留了jade 1.11的原始链接。
p
    | Avatar hosted by
    | 
    a(href='http://www.gravatar.com/', target='_blank') Gravatar
#{' '} !{' '} = " "
p
  | Avatar hosted by #{' '}
  a(href='http://www.gravatar.com/', target='_blank') Gravatar
p
  | Avatar hosted by
  = ' '
  a(href='http://www.gravatar.com/', target='_blank') Gravatar