7

我有这个代码:

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

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

然后我有大小为2.6 MiB( 2,744,320字节)的main.dart.js。这是不正常的。我做错了什么?

angular.dart 在这个阶段可用于生产吗?

4

3 回答 3

5

更新(2014 年 1 月):AngularDart 0.9.5 现在包括一个标准的 MirrorsUsed 列表。要完成它并触发 Dart 的 tree-shaking 优化,你需要在你的程序中添加一个 MirrorsUsed

  • 列出您介绍的所有课程。
  • override: '*'最终确定 MirrorsUsed。

由于 helloworld 没有新的类,所以说:

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

完整的 helloworld 程序见 Github

关键是在你的 Dart 文件中包含一个 @MirrorsUsed 注释。Pavel 的 AngularDart 教程链接是一个极好的资源。

要真正回答您的问题:是的,AngularDart 可以在生产中使用,但请注意它现在处于“测试版”版本中。我们预计会有许多重大的 API 更改!

于 2013-12-08T00:35:51.553 回答
5

@media-slave24

也许这会对您有所帮助: https ://code.google.com/p/dart/issues/detail?id=14686

它在飞镖错误跟踪系统上报告。一些使用镜子的人得到了 760kb。所以这绝对是一个错误。

于 2013-11-21T12:35:41.163 回答
4

看一下关于部署的 angular.dart.tutorial 第 7 章。它有一个关于管理编译代码大小的部分:

https://github.com/angular/angular.dart.tutorial/tree/master/Chapter_07

于 2013-12-05T22:00:35.527 回答