我正在尝试找出需要传递给@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/

10-11 19:18
查看更多