节点手柄在渲染视图之前添加额外的文本节点

时间:2014-12-17 20:40:55

标签: javascript html css node.js handlebars.js

我有以下问题: 在使用把手在布局中渲染视图时,引擎会在渲染的视图主体之前添加额外的文本节点

<nav></nav>
{{{body}}}
<footer></footer>

结果

<nav></nav>
"
[empty text node here]
                      "
<rendered view>
<footer></footer>

该空文本节点具有自己的高度并且会破坏我的CSS边距和填充。请注意,如果我将视图HTML直接放在布局中而不使用模板工具,则没有文本节点,一切都很好。

任何想法为什么会发生这种情况以及如何解决?

2 个答案:

答案 0 :(得分:3)

@leoyoo回答是正确的。 我即将发布同样的问题并发现了这一点。

在Chrome上,来源显示如下所示的空格字符(红点): enter image description here

...并字符串化为&#65279;

我在Visual Studio上,这是保存文件时的默认设置: enter image description here

当我将其更改为UTF-8而没有签名(如下所示)时,空白字符消失了。

enter image description here

在Visual Studio上执行:File>>Save fileName.ext As,然后在“保存”按钮旁边下拉。 enter image description here

答案 1 :(得分:2)

我想我找到了原因,请检查你的部分视图文件,文件中是否插入了BOM,有些编辑器会将其插入到UTF-8,UTF-16和UTF-32格式的文件中。因此,如果您使用的是UTF-8,只需删除BOM即可。