2013-11-21 127 views
5

我有這樣的代碼:太大JS-文件生成

// main.dart 
import "package:angular/angular.dart"; 
main() => ngBootstrap(); 

我使dart2js --minify --out=main.dart.js main.dart

那麼我main.dart.js與大小2.6 MIB(2744320個字節)。 這是不正常的。我做錯了什麼?

angular.dart是否可用於此階段的生產?

+0

http://stackoverflow.com/questions/21212131/問題/答案也有關於這個問題的相關信息。 –

回答

5

@媒體slave24

也許這將有助於您: https://code.google.com/p/dart/issues/detail?id=14686

據悉鏢bug跟蹤系統。有些人使用鏡像得到了760kb。所以這絕對是一個錯誤。

+0

謝謝,它適用於我,我宣佈'@ MirrorsUsed',現在main.dart.js是_670.6 KiB(686,736字節)_。但它如何工作?官方文件說這沒有用。 –

+1

@ media-slave24 https://api.dartlang.org/docs/channels/stable/latest/dart_mirrors/MirrorsUsed.html 和https://api.dartlang.org/docs/channels/stable/latest/dart_mirrors。 html 這不是穩定的API,所以將來可以更改它。我希望這會有所幫助。 – galuszkak

+0

@ media-slave24 670KiB ** **比angular.min.js大17倍。你真的考慮在網頁中嵌入670KB的javascript嗎?我不明白他們爲什麼在angulardart.org上沒有提到這個問題。 (順便說一句,[https://angulardart.org/demo/]加載2MB的javascript ...)。 –

5

UPDATE:AngularDart 0.9.5現在包括一個標準MirrorsUsed列表。爲了完成它並觸發Dart的樹狀優化,您需要在您的程序中添加一個MirrorsUsed

  • 列出您所介紹的所有類。
  • override: '*'來完成鏡像使用。

的HelloWorld以來沒有新的類,說:

@MirrorsUsed(override: '*') 
import 'dart:mirrors'; 

See Github for the complete helloworld program

的關鍵在於,在你的飛鏢文件@MirrorsUsed註解。 Pavel與AngularDart教程的鏈接是一個很好的資源。

要真正回答您的問題:是的,AngularDart可用於生產,但請注意它現在處於「測試版」版本。我們預計很多突破API的變化!