打字稿:无法找到模块' react-cards'的声明文件。

时间:2018-05-27 19:42:54

标签: javascript typescript

我对ReactJS全新,我发现自己陷入了下一件事。 我已经通过npm安装了react-cards,如下所示:

npm install --save react-cards

安装还可以,我想在我的代码中导入它:

import Card from 'react-cards';

但后来我说错了:

  

无法为模块' react-cards'找到声明文件:'路径'隐含地有一个“任何”的类型。尝试安装@ types / react-cards'如果它存在或添加一个新的声明(.d.ts)文件,其中包含'声明模块' react-cards';'。

我尝试使用npm install @ types / react-cards但没有任何改变。

我不知道该怎么做。

2 个答案:

答案 0 :(得分:11)

此消息的原因是您正在导入不包含输入信息的npm包。

因此,打字稿不了解示例Cards中可能包含的import Card from 'react-cards';内容。

每当打字稿无法检测到类型时,它就会使用名为any的类型,这种类型基本上意味着无类型。

对于许多无类型软件包,有@types个npm软件包可以为您添加这些类型。您可以在此处找到它们:https://microsoft.github.io/TypeSearch/

不幸的是,没有@types/react-card包,因此您有以下两个选项:

  1. 您可以自己编写react-cards的输入信息并将其保存到react-cards.d.ts文件中。

  2. 通过设置tsconfig.json - 参考:https://www.typescriptlang.org/docs/handbook/compiler-options.html

  3. ,在"noImplicitAny": false内停用警告

    有关详细信息,请阅读typescript github thread "Importing untyped JS modules"

答案 1 :(得分:0)

如果您使用的是VS Code,则可以使用 Ctrl + .

Install missing types

您还可以automatically add all missing types typesync 一样,

npx typesync

如果程序包没有自己的类型,并且尚未添加到DefinitelyTyped,则需要add a new definitions file

进一步阅读