我有这个代码:
// 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 在这个阶段可用于生产吗?
我有这个代码:
// 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 在这个阶段可用于生产吗?
更新(2014 年 1 月):AngularDart 0.9.5 现在包括一个标准的 MirrorsUsed 列表。要完成它并触发 Dart 的 tree-shaking 优化,你需要在你的程序中添加一个 MirrorsUsed
override: '*'
最终确定 MirrorsUsed。由于 helloworld 没有新的类,所以说:
@MirrorsUsed(override: '*')
import 'dart:mirrors';
关键是在你的 Dart 文件中包含一个 @MirrorsUsed 注释。Pavel 的 AngularDart 教程链接是一个极好的资源。
要真正回答您的问题:是的,AngularDart 可以在生产中使用,但请注意它现在处于“测试版”版本中。我们预计会有许多重大的 API 更改!
@media-slave24
也许这会对您有所帮助: https ://code.google.com/p/dart/issues/detail?id=14686
它在飞镖错误跟踪系统上报告。一些使用镜子的人得到了 760kb。所以这绝对是一个错误。
看一下关于部署的 angular.dart.tutorial 第 7 章。它有一个关于管理编译代码大小的部分:
https://github.com/angular/angular.dart.tutorial/tree/master/Chapter_07