2017-10-19 2 views
1

각도 2로 작성된 커다란 코드베이스를 사용하여 angular-cli를 사용하여 빌드하고 최적화하고 싶습니다. ng 빌드 잘 작동합니다. 그러나, 내가 실행할 때 ng 빌드 --prod 나는 벽에 내 머리를 두드리는 소리가 하나의 오류가 발생합니다. 중복 식별자가 있다고합니다. 이 오류는 전체 dist 폴더가 출력되지 않게합니다. 그러나 나는 내 구성 요소에 중복 식별자가 없다는 것을 100 % 확신합니다. ng.factory 파일이 출력되지 않으므로 아무 것도 디버깅 할 수 없습니다. 컴파일러에게 어떻게 말해야할까요,하지만 .. 중복이 없습니다 .. 내가하는 일을 잘 알고 있습니다.aot 컴파일러에서 중복 오류 제거

enter image description here

내가 잘 작동이 구성 요소 NG 빌드 --prod에 연결하는 템플릿을 언급합니다. 이 문제를 일으키는 구성 요소에 대한 템플릿에서 나는 '활성'에만 AOT에, 다음 중복 식별자가 될 않는 방법이

<li class="listmathSubDomain" *ngFor="let subdomain of subjectVM.subDomainArray" [ngClass]="{'active': subdomain.Description == subjectVM.SelectedSubDomain}"> 

같은 마크 업했다. aot 컴파일 작업에 대한 중요한 개념을 놓친 적이 있습니까?

+0

최소한의 예를 재현 할 수 있습니까? – yurzui

답변

0

이 줄이 AOT의 범인 인 것 같습니다.

[ngClass]="{'active': math.Name == subjectVM.SelectedMathDomain,'active': math.Title == subjectVM.SelectedDomain}" 

는 내가 첫 번째 줄은 JIT에 오류가 발생하지 않는 이유 궁금

[ngClass]="{'active': (math.Name == subjectVM.SelectedMathDomain || math.Title == subjectVM.SelectedDomain)}" 

로 변경되었습니다.