我開始使用angular並構建一些練習應用程序。我的背景大多是knockout.js,到目前爲止,我非常喜歡Angular 2/4中的大部分內容。如何在角度編譯時檢查不正確的屬性名稱
然而,有一件事讓我覺得有點奇怪。在學習過程中,我犯了幾個拼寫錯誤或屬性錯誤(例如忘記在ngFor中使用循環變量),但VS代碼,CLI linter和角本身都不會引發任何錯誤。例如,如果我的組件的.ts文件中有一個名爲myProperty
的屬性,並且我意外地在我的html模板中鍵入{{myProporty}}
,我不會收到任何錯誤。這裏只有一個空白區域,沒有輸出,我可以試着弄清楚我做錯了什麼。在一個簡單的模板中,這很簡單,但至少有一次讓我想起了一段時間,因爲我試圖弄清楚我錯過了什麼。
我注意到實際上棉短絨不如果模板在@Component
裝飾標籤聲明爲inline拋出一個錯誤。在這種情況下,運行ng lint會給我錯誤,The property "myProporty" that you're trying to access does not exist in the class declaration.
但是,如果我的模板位於它自己的html文件中,則不會引發此類錯誤。
我不知道是否有一個「嚴」設置我已經錯過了,或者也許這只是一個工具的問題,但它似乎很奇怪的存在並不以任何形式對這樣的事情檢查。 VS代碼似乎也沒有任何形式的intellisense這些東西,雖然這可能是VS代碼問題,我不知道。
只是想知道是否有人知道可以檢查這些東西的插件,或者是否有我錯過的CLI命令或其他東西。
你是否做絨毛? – Vega
@Vega是的,正如我所說的,ng lint不會(顯然)檢查html文件。如果內聯模板中存在錯誤,則會引發錯誤,但如果它位於單獨的文件中,則不會產生任何錯誤。即使應用程序運行,也沒有開發工具錯誤,這似乎很奇怪,因爲Angular必須評估這些錯誤。 – Mike
嘗試使用--prod選項來構建它會給出所有錯誤'ng build --prod' –