我对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但没有任何改变。
我不知道该怎么做。
答案 0 :(得分:11)
此消息的原因是您正在导入不包含输入信息的npm包。
因此,打字稿不了解示例Cards
中可能包含的import Card from 'react-cards';
内容。
每当打字稿无法检测到类型时,它就会使用名为any
的类型,这种类型基本上意味着无类型。
对于许多无类型软件包,有@types
个npm软件包可以为您添加这些类型。您可以在此处找到它们:https://microsoft.github.io/TypeSearch/
不幸的是,没有@types/react-card
包,因此您有以下两个选项:
您可以自己编写react-cards
的输入信息并将其保存到react-cards.d.ts
文件中。
通过设置tsconfig.json
- 参考:https://www.typescriptlang.org/docs/handbook/compiler-options.html
"noImplicitAny": false
内停用警告
醇>
有关详细信息,请阅读typescript github thread "Importing untyped JS modules"
答案 1 :(得分:0)
如果您使用的是VS Code,则可以使用 Ctrl
+ .
您还可以automatically add all missing types和 typesync
一样,
npx typesync
如果程序包没有自己的类型,并且尚未添加到DefinitelyTyped,则需要add a new definitions file