Angular 2.0 Dart 与 Transformer 和 Router

Angular 2.0 Dart with Transformer and Router

运行 当我使用 Angular 2.0 Dart 时遇到了一个奇怪的问题。基本上我正在尝试使用 Router 并使用 pub serve 使用 angular 转换器将其转换为 JS。但是我收到以下错误

Cannot find reflection information on RouteRegistry
    at dart.wrapException (http://localhost:8080/main.dart.js:2834:17)
    at NoReflectionCapabilities.dart.NoReflectionCapabilities.factory (http://localhost:8080/main.dart.js:31991:17)
    at Reflector.dart.Reflector.factory (http://localhost:8080/main.dart.js:15565:46)
    at Binding.dart.Binding.resolve[=11=] (http://localhost:8080/main.dart.js:13499:41)
    at dart.resolveBindings (http://localhost:8080/main.dart.js:13766:90)
    at dart.Injector.static.Injector_resolve (http://localhost:8080/main.dart.js:13898:63)
    at bootstrap_closure.dart.bootstrap_closure.call[=11=] (http://localhost:8080/main.dart.js:9374:37)
    at dart._rootRun (http://localhost:8080/main.dart.js:20637:16)
    at _ZoneDelegate.dart._ZoneDelegate.run (http://localhost:8080/main.dart.js:22730:41)
    at NgZone.dart.NgZone._run (http://localhost:8080/main.dart.js:5098:24)

但是去掉变压器

- angular2:
    entry_points: web/main.dart

我可以看到我的应用程序并正确浏览路线,但缺点是我的 Dart2JS 文件现在是 2.8 兆

您可以将 "mirror_mode: verbose" 添加到 angular2 转换器。

RouteRegistry 是否来自不同的包?如果是这样,请确保 angular 转换器也已添加到该包中(它不必指定任何入口点)。新的 angular 转换器与旧转换器的工作方式有很大不同,所有包都需要它,而不仅仅是应用程序包。

目前从 Alpha 28 开始,不支持此功能。 Alpha 30 将修复此问题。

https://github.com/angular/angular/issues/1950