2014-01-24 1 views
2

내 응용 프로그램을 컴파일하고 작동 시키려면 어느 라이브러리를 @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'; 

답변

2

사용

pub build --mode=debug 

을이 수행 나무 (대부분) 흔들어하지만 유지 원래 다트 이름. 그런 다음 생성 된 JavaScript를 디버깅하면 일반적으로 예외 소스를 추론 할 수 있습니다. 그들은 각도 libs와에 @MirrorsUsed에 추가 되었기 때문에

편집

이럴 이들은 더 이상 필요하지 않습니다.

    'angular', 
        'angular.core', 
        'angular.core.dom', 
        'angular.filter', 
        'angular.perf', 
        'angular.directive', 
        'angular.routing', 
        'angular.core.parser.dynamic_parser', 
        'angular.core.parser.lexer', 
+0

그래, 나는이 디버그 모드입니다 해왔습니다. –

+0

아직 상당히 모호 할 수 있습니다. 동의합니다. 거울은 큰 도움이 필요합니다 ... 나는 미래에 더 자동화 될 수 있기를 정말로 바라고 있습니다. 자신의 일을 코딩 할 때 그렇게 나쁘지는 않지만 타사 라이브러리를 가져 오기 시작하면 문제가 발생할 수 있습니다. 예를 들어 - angular.dart.ui ... 저는 모달 모듈과 거울에 붙어 있습니다. 주석에 새 패키지를 추가하고 흔적이 도움이되지 않는 시행 착오 스타일을 구축하는 데 몇 시간을 소비하고 있습니다. – Tom