2016-05-16 137 views
2

我正在进入Angular2。我创建了一个非常简单的测试项目来开始测试我正在学习的东西。构建Angular2应用程序

基本上,这是就在我的项目:https://github.com/developer82/ReactJS.vs.Angular2/tree/master/angular2

我从我从网上下载的样本项目启动它。但是一旦我运行npm install它下载了一堆NPM包,现在这个目录的大小约为100mb,用于非常小的应用程序。

很明显,这不是最终上传到生产的项目。我知道很多软件包是不需要的,有些是为了运行一个运行应用程序的服务器。

在今年的ng-conf中,他们非常自豪地宣布Angular2是45kb--小于Angular1。所以我的问题是 - 可以说我已经构建了我的Angular2应用程序 - 现在是什么?如何将所有内容编译为最小尺寸并仅包含所需的包?它如何组合成一个45kb的文件?或换句话说 - 我已经构建了我的应用程序 - 为了发布它,下一步是什么?

编辑

我跟着angular-cli工具(https://github.com/angular/angular-cli#installation)的指令。

创建一个新的项目创建了一个大小为150+ MB的目录。但在运行ng build -prod后,它生成一个大小为1mb的目录 - 远小于并且容易得多,但是在那里我看到角度不是main.js,它的大小为675kb - 远离他们在ng-conf中讨论的45kb。而且没有考虑到所有其他需要加载的js库(系统,es6-shim,reflect,zone)。

这对于Web应用程序来说很重要(特别是针对移动设备时)。我们如何使它变得更小?

回答

0

另一种方法是利用Gulp来编译和打包应用程序。为此,您可以使用下面的插件:

  • 一饮而尽,打字稿 - 编译打字稿的内容转换成JavaScript
  • 一饮而尽,丑化 - 缩小JavaScript内容
  • 一饮而尽,CONCAT - CONCAT文件
  • gulp-html-replace - 最新参考

详情请参阅此问题:

以及相应的项目:

+0

你是怎么做到的? >> https://github.com/templth/angular2-packaging/issues/3 – dragonmnl

0

束仍可用gzip压缩,我用SystemJS生成器和我从576KB(不克压缩)到122KB(gzipped)。模板编译器可能会更小,角色团队仍在继续研究。

+0

是的。我正在等待模板编译器,它将删除不必要的包含,并且不会在框架中包含编译器代码 - 这将使应用程序更小。 – developer82