我正在尝试找出需要将哪些库传递给 @MirrorsUsed
才能让我的应用程序编译并运行。有时,很容易找出可能缺少哪个库,因为会抛出描述性错误,例如 Uncaught Unsupported operation: Cannot find class for: NgAttr
。
其他时候,我会收到更晦涩的消息,例如 NullError: Cannot call "$gt"on null
,不知道我可能会忽略哪个库。除了反复试验之外,还有更好的方法吗?
如果您想知道,这是一个有角度的应用程序,这就是我目前的配置方式:
@MirrorsUsed(targets: const[
'angular',
'angular.core',
'angular.core.dom',
'angular.filter',
'angular.perf',
'angular.directive',
'angular.routing',
'angular.core.parser.dynamic_parser',
'angular.core.parser.lexer',
'todo',
'perf_api',
'List',
'NodeTreeSanitizer',
'PlaybackHttpBackendConfig'
],
override: '*')
import 'dart:mirrors';
最佳答案
使用
pub build --mode=debug
这会进行树摇动,但保留(大部分)原始的 Dart 名称。 然后调试生成的 JavaScript 通常可以推断出异常的来源。
编辑
恕我直言,这些不再是必要的,因为它们已添加到 Angular 库中的 @MirrorsUsed
中。
'angular',
'angular.core',
'angular.core.dom',
'angular.filter',
'angular.perf',
'angular.directive',
'angular.routing',
'angular.core.parser.dynamic_parser',
'angular.core.parser.lexer',
关于dart - 调试镜像使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21344115/