2017-10-19 27 views
1

Angular 2で書かれた巨大なコードベースを使って、angle-cliを使ってビルドし最適化したい。 ng buildが問題なく動作します。しかし、私がを実行したときに--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}"> 

のようにマークアップしています。私は、どのようにしてコンパイルが動作するかについての重要な概念を見逃しましたか?

+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)}" 

にそれを変更しました。

関連する問題