我已经使用过Angular 1.x,现在从Angular 2开始。现在我看到我们必须添加到index.html的js脚本的数量才刚刚开始。
我的意思是即使我排除了角度&(及其组件)自己的js文件,也有"systemjs"
,"es6-shim"
,"reflect-metadata"
,{{1} },"rxjs"
。
我一直听说Angular 2比Angular 1快2到3倍。
我使用过AngularJS 1.x和ReactJS,而且我没有看到过这么多依赖于其他脚本的地方。
我不明白这是什么 - 不是所有这些脚本文件都会让浏览器变慢?他们不是在浏览器的JS引擎上创造了额外的负载吗?
我们是否假设我们在角度2开发时只针对最新的浏览器?
有人请解释一下吗?
修改
我想了解许多JavaScript文件的性能影响。
你可以拒绝/拒绝Angular 2需要比Angular 1开始工作的JS文件更多的事实吗?
答案 0 :(得分:2)
加载更多文件可能会增加第一次加载页面的时间,以及开始时的内存消耗(当时不是必要)。
但是一旦你通过了,这几乎与性能无关。
此外,通过使用专门为其目的而开发和优化的库,有角度的开发人员不必重写他们自己的部分代码,这些代码可能比现有和广泛使用的代码更不优化/更多。
我们举一个简单的例子:underscorejs
或lodash
。通过将它包含在您的浏览器中,您可能会添加一些时间加载,但通过使用提供的功能,您的代码可能会更快,因为有很多关于javascript& amp;当谈到这些库的用途时的性能。
并不是因为你加载了那些你将在每个javascript循环上执行完整代码的库,对于angularJS2及其所有库也是如此。
最烦人的事情可能是需要,不仅要学习angularJS2,还要考虑其他一些组件,以获得有关如何使用angularJS2正确编码的权利,从而增加学习曲线。
在您显示的文件中:es6-shim是使angularJS2与no-es6浏览器兼容,在IE8上使用angularJS 1.x时也是如此,对于这个没什么新的。
答案 1 :(得分:1)
Angular团队正在开发一个构建工具(部分包含在RC中),可以在应用程序交付到浏览器之前解析所有类型的东西
ViewEncapsulation.Emulated
的CSS重写(默认)在开发期间,Angular应用程序必须生成数十到数百个HTTP请求才能获取所有资源。在构建步骤之后,这些被最小化到绝对必要的。