在Angular-CLI中,把手何时运行以及何时进行HTML模板插值?

时间:2016-07-29 18:37:03

标签: angular-cli

我是这方面的初学者(Angular-2,Angular-CLI,Handlebars,Web 2.0开发)。我刚刚开始使用Angular-2 / CLI,我注意到了一些令人困惑的事情。在Angular-CLI生成的项目中,在index.html中,我看到了:

{{#each scripts.polyfills}}
<script src="{{.}}"></script>
{{/each}}

,我猜,它是由Handlebars处理的,不知怎的?

那么,Angular-2的插值会发生什么呢,它也使用{{...}}

我是否必须以某种方式逃离curlies,或者Handlebars只处理某些文件,或者是什么?

1 个答案:

答案 0 :(得分:4)

TL; DR:您可以忽略该语法,无需转义任何内容。

说明: 当您运行ng build(或类似)时,会解析您的index.html,并将生成的文件保存在/dist中。 然后,此文件将提供给浏览器,并且不包含{{...}}部分。 因此,Angular的插值没有任何冲突,你不需要逃避任何事情。

CLI确实在内部使用了Handlebars,但唯一解析的文件是index.html as you can see in the source code

另请注意,在即将发布的使用webpack的angular-cli版本中,此语法完全消失。 (您现在可以use the master branch尝试一下了)

仅供参考,Github也对此进行了讨论: https://github.com/angular/angular-cli/issues/993