Javascript Requirejs车把插件空行

Javascript Requirejs车把插件空行,javascript,requirejs,handlebars.js,Javascript,Requirejs,Handlebars.js,我不知道这是否是特定于requirejs handlebar插件的,但当我有一个模板时,如: <h1>abc</h1> {{#if testcondition1}} <h1>def</h1> {{/if}} {{#if testcondition2}} <h1>ghi</h1> {{/if}} <h1>xyz</h1> abc {{#如果testcondition1} def {{/if} {{#如

我不知道这是否是特定于requirejs handlebar插件的,但当我有一个模板时,如:

<h1>abc</h1>
{{#if testcondition1}}
<h1>def</h1>
{{/if}}
{{#if testcondition2}}
<h1>ghi</h1>
{{/if}}
<h1>xyz</h1>
abc
{{#如果testcondition1}
def
{{/if}
{{#如果testcondition2}
ghi
{{/if}
xyz
如果有一个条件为false,我会得到一个空行。 就像:

abc
ghi
xyz
而不是

<h1>abc</h1>
<h1>ghi</h1>
<h1>xyz</h1>
abc
ghi
xyz
这是预期的行为吗?
我希望在模板编译后不重复字符串操作就不会得到任何行。我知道在html中会忽略行,但这真的很烦人,尤其是在循环中。

如果您查看代码中的换行符位置:

<h1>abc</h1>\n
{{#if testcondition1}}\n
<h1>def</h1>\n
{{/if}}\n
{{#if testcondition2}}\n
<h1>ghi</h1>\n
{{/if}}\n
<h1>xyz</h1>\n
abc\n
{{#如果testcondition1}}\n
定义\n
{{/if}}\n
{{{#如果testcondition2}}\n
ghi\n
{{/if}}\n
xyz\n
您可以看到,如果第一个条件为false,则不带跳过分支的代码为:

<h1>abc</h1>\n
\n
{{#if testcondition2}}\n
<h1>ghi</h1>\n
{{/if}}\n
<h1>xyz</h1>\n
abc\n
\n
{{{#如果testcondition2}}\n
ghi\n
{{/if}}\n
xyz\n
这会给你两行换行符

<h1>abc</h1>\n
\n
{{#if testcondition2}}\n
<h1>ghi</h1>\n
{{/if}}\n
<h1>xyz</h1>\n