Typescript: 无法找到模块'react-cards'的声明文件。
Typescript: 无法找到模块'react-cards'的声明文件。
我完全是新手ReactJS,并发现自己陷入了下一个问题中。
我已经通过npm安装了react-cards,就像这样:
npm install --save react-cards
安装很顺利,我想像这样在我的代码中导入它:
import Card from 'react-cards';
但是,然后我收到了这个错误:
找不到模块“react-cards”的声明文件:“path”隐式具有“any”类型。如果存在,请尝试npm install @types/react-cards,或者添加一个新的声明(.d.ts)文件,其中包含“declare module \'react-cards\';”。
我尝试了npm install @types/react-cards,但没有任何改变。
我不知道该怎么办。
如果您正在使用VS Code,则可以使用Ctrl
+.
快速修复建议来解决此问题。\n您还可以使用typesync
自动添加所有缺少的类型,方法如下:\n
npx typesync
\n如果包没有自己的类型,也没有被添加到DefinitelyTyped中,则需要添加新的定义文件。\n
进一步阅读
\n
您正在导入一个缺少 type 信息的npm包。
在您的例子中,TypeScript在导入时无法理解Card
的属性。TypeScript无法检测到类型并引用any
,这意味着未类型化。
对于许多未类型化的包,存在@types
npm包,可以为您添加这些类型。您可以在此处找到它们:microsoft.github.io/TypeSearch
不幸的是,没有@types/react-card
包,但您有以下选项:
-
您可以自己编写
react-cards
的类型信息并将其保存到react-cards.d.ts
文件中。 -
通过将
"noImplicitAny": false
设置为tsconfig.json
中关闭警告 - 参考:https://www.typescriptlang.org/docs/handbook/compiler-options.html