2016-12-21 55 views
11

我們正在用ng2重寫我們的ng1項目。我們的ng1項目建成時約爲8mb。我們重寫ng2的時間約爲四分之一,而我們的ng2 prod版本已經達到了14mb。爲什麼Angular 2項目如此之大

dist文件夾大小的主要區別可歸因於不同大小的源映射。這兩個項目都包含源地圖,但ng2源地圖要大得多。這對我來說很有意義,因爲ng2有更多的樣板,組件被分離出來,等等。

最初,這個問題被置於擱置,因爲它太大,無法回答。我同意。但這正是我問這個問題的原因。我試圖理解ng2提供的所有內容,這將使最終的ng2產品比ng1版本更好。

那麼,我們可以將什麼樣的實用方法/程序/工具應用到我們的ng2開發實踐中,以使最終尺寸保持較小,並且反過來用戶體驗更快?

+1

您是否包含構建中的所有源文件(包括TS文件)? –

+0

@AnthonyC我不這麼認爲,我看到的只是js文件。什麼是檢查是否有ts文件的最好方法? – Nik

+1

取決於你的構建配置,如果你打開這些JS文件,你會在最後一行看到類似'//#sourceMappingURL ='的東西嗎? –

回答

6

我嘗試角2有一天,我面臨着同樣的問題,因爲你這樣做,我vendor.js爲6M,這是一個簡單的「Hello World」應用程序...

我發現下面這篇文章幫助我們理解了如何在這個問題上採取行動(現在):http://blog.mgechev.com/2016/06/26/tree-shaking-angular2-production-build-rollup-javascript/

他在他的1.5M應用程序中使用了幾種優化和壓縮技術(預編譯,treehake,minify,bundle和gzip),以將其大小縮小到只有50kb。

看看它,希望它有幫助! :)

+0

好鏈接ravi。我看到他只是通過縮小和gziping它從1.4mb到128kb。我們已經爲ng1和ng2做到了這一點,儘管尺寸差異很大,對於我們來說,它們一直都在那裏。 Rollup和AoT但是我必須考慮一下,看看我們可以在那裏利用什麼 – Nik

+2

我一會兒面臨同樣的問題,然後我讀到了AoT,樹木搖晃,gzip,縮小,其他所有事情。我發現這個回購,https://github.com/qdouble/angular-webpack2-starter。一探究竟。我現在在各種生產版本中使用它。 – Everett

相關問題