2016-09-15 61 views
1

我正在使用AngularJS Web應用程序。我使用uglify和minify來創建vendor.js和app.js文件,但它們非常巨大 - 分別爲2 MB和720KB。正如我在Chrome開發工具中看到的那樣,他們分別花了25s和14s來下載,我認爲在我的100MBPS互聯網連接上花了很多時間。我擔心客戶體驗的速度可能遠遠低於此。什麼是壓縮或減少這些文件大小的方法?我相信vendor.js不能被分解,因爲Angular在第一頁上需要它。如何縮小供應商.js爲2MB且app.js爲720KB的Angular JS應用程序的大小?

+0

查看你正在使用的模塊來查看批量來自何處,有可能是一些模塊比你需要的方式做得更多這樣做你可以取消。 –

回答

1

最大和最快的勝利將通過gzip壓縮和CDN(cloudfront,akamai等)提供文件。 CDN通常會從距離用戶更近的位置提供文件(更快下載)。大多數CDN可以很容易地啓用gzip,並且這可能是您在文件大小方面獲得最大勝利的地方。

之後,你可以看看樹震。這可能需要大量的重構,如果你還沒有使用一些東西來捆綁你的JavaScript像webpack。但是令人驚訝的是,它會排除你的app.js和vendor.js文件中沒有使用的任何代碼。

最後你可以看看懶加載。通過這種方式,您可以使用最少量的代碼來引導您的應用程序,並且在用戶導航到應用程序的不同部分時,他們會下載所需的代碼。如果你使用1.x,ocLazyLoad往往是流行的選擇:https://oclazyload.readme.io/

+0

OP已經表明,他們使用uglify,這意味着或多或少已經應用了抖動。 UglifyJs的默認壓縮設置將會丟失死和未使用的代碼:http://lisperator.net/uglifyjs/compress –