2017-08-08 86 views
0

我使用的是的WebPack和AOT角4和建築項目,但它給我這個錯誤:角4 + AOT的WebPack建設問題

ERROR in ng:///D:/proj/src/client/app/app.component.html (14,5): '$event' is declared but never used. 

我已經在plunker提出簡化的項目副本:http://embed.plnkr.co/RxY2mhfhJmcBFKjG70f0/

從plunker

  1. 下載項目:

    您可以重現此問題與以下步驟https://plnkr.co/edit/RxY2mhfhJmcBFKjG70f0?p=info

  2. 在項目根npm i然後npm run build:clientnpm run build-v:client

如果更改src/client/app/app.component.html在第13行是這樣的:

<li *ngFor="let hero of heroes" (click)="onSelect(hero, $event)" [class.selected]="hero === selectedHero"> 

錯誤就會消失。但顯然這是一個不好的解決方案。

任何想法來解決這個問題?

我認爲AoT以某種方式將模板編譯爲某種中間資源,並添加該變量。但我無法找到如何管理/防止/解決這個問題。

+0

顯然你有一個'$事件'定義的地方,它沒有被使用..但我沒有看到你的plnkr。你確定你把正確的代碼放在那裏嗎?該錯誤暗示了您的HTML中的某個內容「

」。 – Lansana

+0

@Lansana,我更新了我的問題來解釋你的 –

+0

我非常確定這與正在使用的編譯器/構建過程有關。有一個'$ event'爲'(click)'創建,但是你不用它。這類似於在打字稿中聲明一個變量而不使用它。我認爲在這種情況下,您正在使用的編譯器或構建過程會引發錯誤,並且可以證明這一點,因爲如果使用'$ event',錯誤就會消失。您是否創建了自己的定製webpack構建配置,或者您是否使用Angular CLI? – Lansana

回答

0

問題出在src/client/tsconfig-aot.json。應該刪除"noUnusedParameters": true,

感謝您的意見。它把我帶到了正確的方向。

+0

很高興我能幫到你。 – Lansana