2016-08-25 48 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; 
}