将ng-include下载所有包含的HTML或预编译成一个HTML



从性能角度来看,使用ng-include Angular指令是否会导致包含的html被下载到用户的浏览器中作为自己的文件?

我没有使用节点服务器来提供HTML文件,我使用CDN像AWS CloudFront。

AngularJS是一个完全的客户端框架,所以,是的,它会下载每个模板,它不会预编译任何东西。

您可能希望在客户端构建过程中包含gulp-ng-templates之类的内容。这将生成一个单独的js文件,它将使用它们的自然URL将所有模板预加载到模板缓存中(因此您的其他代码不需要更改)

ng-include将根据请求下载模板。因此,如果您使用ng-include包含3个模板,这意味着3个ajax请求。

然而,你可以在你的index.html中包含模板作为一个脚本使用type = text/ng-template

<script type="text/ng-template" id="my-tpl.html">
  Content of the template.
</script>

:

<div ng-include="my-tpl.php"></div>

这样你就可以把所有的模板放在一个文件里了。

最新更新