在uglify之后,一个空的Angular2应用程序有911k vendor.js。如何使Angular2 Web应用程序更小?

时间:2016-11-13 18:16:38

标签: angular webpack

我100%跟随official guide here建立一个启动Angular2和webpack项目。

生产成功后,我发现了

  • app.js是2k,
  • polyfill.js是98k
  • vendor.js是911k

这些尺寸是在uglify和minify之后。

  • 我还需要做些什么来使angular2应用程序更小(特别是vendor.js)?

  • 我听说"树摇晃",你能分享一些如何做的样本吗?

2 个答案:

答案 0 :(得分:1)

当然,Angular 2以其大小而闻名。我建议:

  1. 设置您的Web服务器以提供gzipped JS文件。我的Angular 2应用程序的主要JS文件(带有一堆第三方ng2模块)大约是1.6 Mb。但是在gzipping之后它似乎只有337 Kb。
  2. 使用服务工作者缓存主JavaScript文件(和其他静态资源),这样您的用户才能第一次完全下载它。

答案 1 :(得分:1)

如果是Angular CLI应用程序,请将AoT添加到构建中:

ng build --prod --aot

  1. 即使在这一点上,AoT似乎对较小的应用程序(您的情况)产生了很好的影响,而不是对大型应用程序产生影响,因此您可能会获得更小的文件大小。

  2. 正如@EternalLight所提到的,使用可以提供服务的Web服务器 预先创建的gziped文件,例如节点静态 https://www.npmjs.com/package/node-static。看看样本 package.json在这里:https://github.com/Farata/angular2typescript/blob/master/chapter10/angular2-webpack-starter/package.json