2016-11-24 112 views
0

任何人都可以帮我吗?Angular 2初始化缓慢

我的Angular 2应用程序需要很长时间才能初始化。

只有16个请求。 尽管3 MB的尺寸相对较大,但问题不在于带来这些文件。

我指的是获取所有文件后的时间。

在我的笔记本上是3到4秒,我相信这是一段很长的时间,因为现在我只有10个组件,1个管道和6个指令。

这个想法是应用程序有近200个组件。 然后我会创建延迟加载。

但是对于10个组件,我认为它应该更快。 在手机上,待机时间达到10秒,12秒。 在iPad上,等待也相对较大。 超过15秒。

我正在使用webpack,缩小css和js。 甚至使用服务器上的预渲染(asp.net核心)。

所有文件下载后都会发生此延迟。 也就是说,渲染屏幕是一个角度2的处理时间。

我还能做什么? 我能做什么错?

的测试环节: http://projetos.codegenerator.com.br/angular2/

感谢。

回答

1

我终于得到了我想要的应用程序的性能。 它花了一些工作,但真的值得。

配置你的应用程序在AOT中编译,真的是性能增益值得。

0

角2井测试其性能,如果有什么应用和它的依赖落后的..

检查您的环境中,如果只有少数成分则没有什么不妥的框架侧。

的WebPack或任何其他的构建工具无关的表现,怎么把他们发展的依赖,

如果您正在使用CDN的一些第三方服务或库,检查他们的服务是否及时。

+0

你好。 我把webpack称为好东西。 这是全部包装。 正如我所说,延迟不是带来的文件。 是,在客户端处理它们。 如果您需要更多信息,可以传递它。 您能告诉我在您的机器上需要多长时间? 谢谢。 –

1

我想你不使用任何工具包像的WebPack,systemjs ..

当您部署NG2-应用程序,你应该使用AOT(提前)编译。 我想你正在使用JIT(及时编译)。

在angular2引导页,

随着AOT,浏览器下载的应用程序的预编译的版本。浏览器加载可执行代码,以便可以立即呈现应用程序,而无需等待先编译应用程序。

当您使用JIT编译时,您的浏览器将下载由angular2编译器定义的vendor.js,它将及时编译您的应用程序。它会太慢,你的客户必须下载供应商文件。当您使用AOT时,您不必使用供应商文件,因此资源正在变小。

我建议您在部署应用程序时使用AOT编译,并使用资源大小的延迟加载。

如果您对ng2 AOT编译感兴趣,请阅读本指南。

angualar2-cookbook-AOT

这里是例子angular2应用与webpack2和延迟加载。

在这里使用文件结构和配置文件。

当我使用示例应用程序进行测试时,捆绑了aot的文件小于500KB。

angular2-webpack2-aot