Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.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
Javascript 节点手柄在渲染视图之前添加额外的文本节点_Javascript_Html_Css_Node.js_Handlebars.js - Fatal编程技术网

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

Javascript 节点手柄在渲染视图之前添加额外的文本节点,javascript,html,css,node.js,handlebars.js,Javascript,Html,Css,Node.js,Handlebars.js,我有以下问题: 在具有把手的布局中渲染视图时,引擎会在渲染视图主体之前添加额外的文本节点 <nav></nav> {{{body}}} <footer></footer> {{{body}}} 导致 <nav></nav> " [empty text node here] " <rendered view> <footer></footer>

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

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

{{{body}}}
导致

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

"
[此处为空文本节点]
"
这个空文本节点有它自己的高度,并打破了我的CSS页边距和填充。请注意,如果我将视图HTML直接放在布局中,而不使用Handlebar模板,则没有文本节点,一切正常


你知道为什么会发生这种情况以及如何解决吗?

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

@leoyoo的答案是正确的。 我正要发布同样的问题,发现了这个

在Chrome上,源代码显示如下所示的空白字符(红点):

…并将其字符串化为


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

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

在Visual Studio上执行以下操作:
文件>>将fileName.ext另存为
,然后单击“保存”按钮旁边的下拉菜单。

如果你尝试{{{~body}},你会怎么做?这将删除tildeis侧边的空白,即使是有效的语法也会出现在Handlebar文档中<代码>http://handlebarsjs.com/expressions.html
<代码>空白控件模板空白可以通过在大括号旁添加~字符从任何mustache语句的任一侧省略。谢谢,但在解析HTML时,它似乎不是express Handlebar中的有效语法,而不是纯文本http://localhost:1337. 按CTRL+C终止。。。错误:第96行的分析错误:。。。{{{~body}}}可能是波浪线和“body”之间的一个空格。另请参见:。它应该会起作用。你用的是最新的车把吗?