我一直在爲我的Angular 2項目添加Jasmine單元測試,並且最近更新了一些NPM軟件包。我看到兩個不同的錯誤,我懷疑它們是相關的(因此在一個問題中將它們結合起來)。Angular2構建失敗,出現「無法找到名稱」文檔'「;其他參考資料也無法解決
首先,我得到一個構建錯誤,阻止我建立我的項目。當我在Angular-CLI中運行> ng build時,所有塊似乎都被正確創建,但是隨後我得到了一堵指向每個引用全局文檔或窗口變量的地方的錯誤。這些錯誤是這樣的:
,或者替換地, 「無法找到名爲 '窗口'。」這些引用在Visual Studio中沒有被紅線標出,並且我一直在使用它們很長時間沒有問題,所以我猜這和最近更新我的Typescript版本有關。
同樣,在我的新測試文件中,所有Jasmine引用都會被標記爲未知名稱。
有趣的是,測試運行無投訴;只是Visual Studio將標記放在我的測試文件中。我瀏覽了許多關於這個問題的SO問題,發現沒有任何解決方案解決了我的問題。
這裏是我的tsconfig.json樣子:
我已經簽了TypeRoots路徑是正確的,在安裝這些NPM模塊。
而且我的package.json:
它應該是''lib「:[」dom「,...]'在TS配置中。 – estus
Angular 2沒有對TypeScript 2.2的官方支持,Angular 4將支持2.2。您的應用可能仍然有效,但它不受支持。當你運行'npm list --depth 0'時它是否會給你任何警告/錯誤? – Adam
@Adam我得到三個錯誤:npm ERR! extraneous:[email protected] C:\ PowerPay \ Simplification \ EvoNowHostedApp \ EVONowHosted \ Static \ node_modules \ karma-remap-istanbul npm ERR! extraneous:[email protected] C:\ PowerPay \ Simplification \ EvoNowHostedApp \ EVONowHosted \ Static \ node_modules \ utf8 npm ERR! extraneous:[email protected] C:\ PowerPay \ Simplification \ EvoNowHostedApp \ EVONowHosted \ Static \ node_modules \ webdriver-manager –