Pav*_*vlo 4 html javascript performance ember.js angularjs
多年前我已经了解到,<script>在<head> 阻止页面渲染,减少网站的感知加载时间,而不是它们应该包括在最后<body>.
我想这不适用于webapp,无论如何不能使用JavaScript.实际上,由于模板编译,甚至应该首先加载它们.但是,在Ember和Angular的所有教程中,我都看到最后包含的脚本.它还合理吗?
Mik*_*son 13
关于角度,大多数时候它在你放置它们时几乎没有什么区别.在大多数Web应用程序角度情况下,您将拥有一个非常小的起始页面.您的大多数实际功能将通过视图或ui-view(如果您使用的是角度ui)稍后注入.
Angular还包含一个名为ng-cloak的指令,它将隐藏您的应用程序,直到模板编译和呈现为止.这是从最终用户隐藏模板语法直到它准备就绪的好方法.
关于放置脚本的主题,Angular的官方文档说:
将脚本标记放在页面底部.在页面末尾放置脚本标记可以缩短应用程序加载时间,因为加载angular.js脚本不会阻止HTML加载. http://docs.angularjs.org/guide/bootstrap
实际上,除非你有很多其他立即执行的脚本(jQuery小部件,插件等),否则你不会在小应用程序中看到性能差异.如果你使用一组足够大的控制器进入应用程序,将它们放在底部也不会有什么坏处.在那时,您应该考虑一种更加成熟的技术:减少http请求.
这是另一种蠕虫,但像Grunt这样的自动化任务运行器可以处理缩小和组合不同的控制器脚本.