Angular 2依赖这么多javascript文件会不会影响其性能?

时间:2016-05-20 06:10:35

标签: javascript angularjs performance angular

我已经使用过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文件更多的事实吗?

2 个答案:

答案 0 :(得分:2)

加载更多文件可能会增加第一次加载页面的时间,以及开始时的内存消耗(当时不是必要)。

但是一旦你通过了,这几乎与性能无关。

此外,通过使用专门为其目的而开发和优化的库,有角度的开发人员不必重写他们自己的部分代码,这些代码可能比现有和广泛使用的代码更不优化/更多。

我们举一个简单的例子:underscorejslodash。通过将它包含在您的浏览器中,您可能会添加一些时间加载,但通过使用提供的功能,您的代码可能会更快,因为有很多关于javascript& amp;当谈到这些库的用途时的性能。

并不是因为你加载了那些你将在每个javascript循环上执行完整代码的库,对于angularJS2及其所有库也是如此。

最烦人的事情可能是需要,不仅要学习angularJS2,还要考虑其他一些组件,以获得有关如何使用angularJS2正确编码的权利,从而增加学习曲线。

在您显示的文件中:es6-shim是使angularJS2与no-es6浏览器兼容,在IE8上使用angularJS 1.x时也是如此,对于这个没什么新的。

答案 1 :(得分:1)

Angular团队正在开发一个构建工具(部分包含在RC中),可以在应用程序交付到浏览器之前解析所有类型的东西

  • 脚本内联
  • CSS inlining
  • ViewEncapsulation.Emulated的CSS重写(默认)
  • HTML内联
  • 根据路由配置延迟加载组件
  • 用生成的代码替换声明性绑定
  • ...

在开发期间,Angular应用程序必须生成数十到数百个HTTP请求才能获取所有资源。在构建步骤之后,这些被最小化到绝对必要的。