簡體   English   中英

Angular-CLI構建:無法讀取未定義的屬性“ getSourceFile”中的錯誤

[英]Angular-CLI build: ERROR in Cannot read property 'getSourceFile' of undefined

我試圖讓Angular CLI用於現有的(相當大的)Angular 2項目。 我從遵循CLI快速入門開始,並開始運行Hello World項目。

之后,我一直試圖將現有項目復制到CLI項目中並進行構建。 修復了許多錯誤之后,執行“ ng serve”或“ ng build”命令時只剩下一個錯誤:

Cannot read property 'getSourceFile' of undefined

我找到了這個GitHub線程 ,建議在其中替換WebPack的_resolve()函數。

node_modules@ngtools\webpack\src\compiler_host.js

我在本地 NPM的Angular-CLI和全局NMI中都替換了它:[user] \\ AppData \\ Roaming \\ npm \\ node_modules \\ @angular \\ cli \\ node_modules \\ @ngtools \\ webpack \\ src \\ compiler_host.js

我仍然收到錯誤。

我注意到這里的WebPack版本是1.3.0,而NPM中可用的當前版本是1.4.1。 它還說我全局安裝的Angular CLI是“ 1.0.0”,而最新的NPM顯示為1.0.0-beta-28.3

誰能解釋1.0.0是最新的還是1.0.0-beta-28.3? 為什么1.0.0根本不顯示在NPM中,但似乎已安裝在我的計算機上?

最重要的是,有什么辦法可以解決此錯誤?

我遇到了同樣的錯誤。

我只是通過關閉現有的Angular-CLI命令提示符並在新的命令提示符中重新運行ng serve解決了該問題。

我從cmd重新安裝了angular / cli,錯誤已解決。

注意:這樣: npm install -g @angular/cli

當我啟動ng-serve並沒有等待webpack編譯並運行http:// localhost:4200 /#時,我遇到了同樣的錯誤,我可以想到的一個原因是webpack沒有編譯所有這些模塊,而在我自己之前通過點擊index.html開始這些組件,這就是為什么它失敗了。

但是,當我使用ng-serve重新啟動時,我等待了webpack:編譯成功。 在終端上的消息,然后轉到http:// localhost:4200 /#效果很好。 希望能有所幫助。

我最終通過將npm中的TypeScript更新為2.3.x來解決了這個問題。 我相信以前我使用的是2.0.x,而Angular現在使用的是2.1.x,並希望使用該版本或更高版本。

然后,通過確保安裝的Angular版本與CLI編譯器的版本匹配來解決了另一個(類似的隱性)錯誤。 (我使用的是Angular 2.x,需要升級到4.x)

我遇到了同樣的錯誤,花了大約1個小時才想知道發生了什么。 最后,我只是停止了它,然后再次像這樣運行它-Ctrl + F5和npm start,它一直工作着,因為它從未被破壞過……到目前為止,我在Angular 4中注意到的是很多問題可以通過stop( Ctrl + F5)/ start(npm start)使用npm重建軟件包重建刪除所有node_modules,然后使用npm install重新安裝它們。如果這些建議均無效,則可以開始在Google中進行挖掘:)

我通過從我的模塊中刪除已刪除的組件的引用來解決了這個問題,而該引用卻偶然地在那里。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM