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

24 浏览
0 Comments

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,但没有任何改变。

我不知道该怎么办。

admin 更改状态以发布 2023年5月22日
0
0 Comments

如果您正在使用VS Code,则可以使用Ctrl+.快速修复建议来解决此问题。\n您还可以使用typesync自动添加所有缺少的类型,方法如下:\n

npx typesync

\n如果包没有自己的类型,也没有被添加到DefinitelyTyped中,则需要添加新的定义文件。\n

进一步阅读

\n

0
0 Comments

您正在导入一个缺少 type 信息的npm包。

在您的例子中,TypeScript在导入时无法理解Card的属性。TypeScript无法检测到类型并引用any,这意味着未类型化。

对于许多未类型化的包,存在@types npm包,可以为您添加这些类型。您可以在此处找到它们:microsoft.github.io/TypeSearch

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

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

  2. 通过将"noImplicitAny": false设置为tsconfig.json中关闭警告 - 参考:https://www.typescriptlang.org/docs/handbook/compiler-options.html

进一步信息:typescript github线程“导入未类型化的JS模块”

0