【问题标题】:Angular4 Load times are too high with or without lazy loading since they are always downloaded in startAngular4加载时间太长,有或没有延迟加载,因为它们总是在开始时下载
【发布时间】:2017-05-25 02:42:45
【问题描述】:

如果我不构建应用程序并且只将所有 js、html 和 css 文件原样复制到生产环境中,Angular 是否会缓存 js 文件?他们是否也仅在需要时才下载它们?

Angular 如何处理 js 文件的下载以及它们被实例化的方法?似乎 ng-cli 为应用程序创建了一个缩小的包,并且没有选项可以只创建没有捆绑到一个包中的缩小的 js 文件。所以看起来它们不是延迟加载,也不是通过 http 请求动态下载的。

这确实会对应用程序造成影响,并且加载时间真的很慢。

【问题讨论】:

    标签: performance angular lazy-loading production pageload


    【解决方案1】:

    文件被缓存了,是的,但它们没有编译。这就是它使页面加载缓慢的原因。

    Follow this guide 使您的代码编译 ahead-of-time 并且您的页面应该开始加载更快!

    【讨论】:

    • 我已经在这个代码库中使用了aot。在此之后的任何建议。如何仅在需要和缓存时才下载模块?似乎所有文件都是在开始时下载的。
    • pingdom 输入您的网站,然后查看下载的内容和下载量。它可能会帮助您找到问题是在下载资源还是在之后阅读它们。
    【解决方案2】:

    加快加载时间的一些方法包括使用 Webpack、Ahead-of-Time (AOT) 编译和延迟加载。我发现最有效的方法是使用Server-side rendering (aka Angular Universal)

    【讨论】:

    • 我正在使用aot和延迟加载。似乎延迟加载不是延迟加载。当我在子模块上执行 console.log 时,它们会在应用程序实例化时被下载和实例化。
    猜你喜欢
    • 1970-01-01
    • 2019-12-20
    • 1970-01-01
    • 2020-07-23
    • 2017-09-29
    • 1970-01-01
    • 1970-01-01
    • 2012-01-15
    • 1970-01-01
    相关资源
    最近更新 更多