我正在尝试找出需要传递给@MirrorsUsed
的库,以使我的应用程序得以编译和运行。有时,很容易找出可能丢失了哪个库,因为会抛出诸如Uncaught Unsupported operation: Cannot find class for: NgAttr
的描述性错误。
其他时候,我收到了比较模糊的消息,例如NullError: Cannot call "$gt" on null
,却不知道我可能忽略了哪个库。除了反复试验,还有更好的方法吗?
如果您想知道,这是一个 Angular 应用程序,这是我目前对其进行配置的方式:
@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/