2016-08-25 68 views
4

當在Visual Studio中將npm包導入到​​我的項目中時,無論我刷新文件夾多少次,它總是讓我感到困惑,即有時包無法識別。Visual Studio不能識別導入的npm包?

enter image description here

文件夾react-google-maps絕對是我node_modules文件夾中。但是,出於某種原因,Visual Studio無法看到此錯誤並將其作爲錯誤突出顯示。正因爲如此,所有相關的智能感都不會出現。奇怪的是,它實際上可以識別react

我應該怎麼做才能讓Visual Studio識別我剛剛通過控制檯中的npm安裝的新軟件包,以便我可以導入它們而不出現突出顯示的錯誤?

+0

不幸的是,我不得不切換到VS代碼,因爲VS不正確支持現代Web開發。 「我應該怎麼做才能讓Visual Studio ......」沒有什麼可以做的。 – Rudy

+0

@Rudy VS Code很棒,但VS工作室的智能感知(甚至他們使用的社區版本)都超過了VS代碼。當我鍵入我的代碼時,感覺更加敏捷。 :( – Carven

回答

0

我認爲你的問題是react-google-maps是一個JavaScript模塊。爲了讓TypeScript導入模塊,你需要一些將JavaScript翻譯成TypeScript的類型,例如來自DefinitelyTyped存儲庫。

快速搜索沒有發現這種類型,爲什麼我假設你沒有爲此安裝任何類型。

有兩種解決方案,如果是這種情況。

  1. 寫下類型並將它們提交給DefinitelyTyped或Typings註冊表。這是我推薦的方法。通過編寫類型並將其發佈給其他人,讓他們回到社區。
  2. 在您的項目中聲明一個模塊以使輸入無效。這不會給你任何IntelliSence,所以它只會使進口無聲。

聲明模塊在項目中,添加一個名爲react-google-maps.d.ts的新文件並粘貼此在:

declare module "react-google-maps" { 
    export var GoogleMap; 
    export var Marker; 
}