2016-05-16 135 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