2013-12-13 85 views
2

我正在嘗試angular.dart。當我將dart編譯成js時,它會生成一個包含我的dart代碼和整個角的文件,也可能是其他庫。問題是文件大小變得太大(1.5L +行)。這也意味着無論什麼時候我會在我的文件中做出一些小改動,整個js文件都會被改變,因此不能被緩存。有沒有辦法讓我有不同的js文件:1爲我的代碼,1爲角和其他庫。編譯飛鏢以分離js文件

你們如何解決這個問題?

回答

1

行數沒有什麼可說的文件大小。文件真的很大嗎?

您可以使用DefferedLibrary將應用程序拆分爲多個文件,但這不會對您有所幫助,因爲文件之間的耦合非常接近,並且在重新編譯之後(由於樹抖動)而更改。但是這可以幫助您加載時間,因爲應用程序的某些部分可以在以後按需加載。

但是,如果您的應用程序真的很大並且加載速度很慢,您可以查看MirrorsUsed註釋以排除應用程序某些部分的鏡像信息。

+1

在我的情況下,JS文件的大小是5.26 MB。我的代碼幾乎不是10行。所以我覺得剩下的尺寸是在我的代碼中使用的dart庫,它們也應該被編譯。我覺得應該有一種方法可以將dart庫編譯到不同的js中,以便它們可以分開緩存,並且可以隨時更改我的代碼,而無需再次加載所有庫。 將所有內容編譯爲單個文件,我無法利用緩存。 –

+1

MirrorsUsed對於目前的Angular應用程序至關重要。你應該看到小於200kb的JS上的大小。 –