Visual Studio 无法识别导入的 npm 包?

Posted

技术标签:

【中文标题】Visual Studio 无法识别导入的 npm 包?【英文标题】:Visual Studio doesn't recognise imported npm package? 【发布时间】:2017-01-01 12:55:48 【问题描述】:

在 Visual Studio 中将 npm 包导入我的项目时,有时我总是感到困惑,无论我刷新文件夹多少次,这些包都无法被识别。

文件夹react-google-maps 肯定在我的node_modules 文件夹中。但是,由于某种原因,Visual Studio 看不到此错误并将其突出显示为错误。正因为如此,所有相关的智能感知也不会出现。奇怪的是,它居然可以识别react

我应该怎么做才能让 Visual Studio 识别我刚刚在控制台中通过 npm 安装的新包,以便我可以导入它们而不会出现突出显示的错误?

【问题讨论】:

不幸的是,我不得不切换到 VS Code,因为 VS 不能正确支持现代 Web 开发。 What should I do to get Visual Studio to ... 你无能为力。 @Rudy VS Code 很棒,但是 VS Studio 中的智能感知(甚至我正在使用的社区版本)超过了 VS Code 中的智能感知。当我键入我的代码时,它感觉响应更快。 :( 【参考方案1】:

我相信您的问题是 react-google-maps 是一个 javascript 模块。要让 TypeScript 导入模块,您需要一些将 JavaScript 转换为 TypeScript 的类型,例如来自DefiniteTyped 存储库。

快速搜索没有发现这样的类型,为什么我假设你没有为此安装任何类型。

如果是这种情况,有两种解决方案。

    编写类型并将它们提交到DefinitelyTyped 或Typings 注册表。这是我推荐的方法。通过编写类型并将其发布给其他人来回馈社区。​​li> 在您的项目中声明一个模块以使导入静音。这不会给您任何 IntelliSence,因此它只会使导入静音。

要在项目中声明模块,请添加一个名为 react-google-maps.d.ts 的新文件并将其粘贴到:

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

【讨论】:

以上是关于Visual Studio 无法识别导入的 npm 包?的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 Visual Studio Code 中的自定义库解析导入

Visual Studio 2013 无法识别 javascript [关闭]

Visual Studio 无法识别标准库

Visual Studio 代码无法识别 html 文件

Visual Studio 无法识别环境变量的更改

Visual Studio 2019 IntelliSense 无法识别更改的值