2013-11-21 85 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的变化!