React,Typescript - 找不到模块...或其相应的类型声明

新手上路,请多包涵

我在 vs 代码中使用 create-react-app 和 yarn 2 创建了一个新项目。编辑器在导入每个已安装的库时会抛出错误,如下所示:

找不到模块“反应”或其相应的类型声明。

该项目编译并成功运行,但错误仍然存在。当我将文件的扩展名更改为 .js.jsx 时。 ts.tsx ,错误消失。我应该如何解决打字稿文件的这个问题?

原文由 Amir Fakhim Babaei 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 3.2k
1 个回答

您需要为您安装的库安装类型。通常你应该这样做:

 npm install @types/libName // e.g. npm install @types/react-leaflet

有时 DefinitelyTyped 存储库中没有可用的类型,您会遇到 npm ERR! 404 Not Found: @types/my-untyped-module@latest 。在这种情况下你可以做几件事:

1- 在项目的根目录中创建一个 decs.d.ts 文件并在其中写入:

     declare module "libName" // e.g declare module 'react-leaflet'

2- 或者简单地使用 @ts-ignore 抑制错误:

 // @ts-ignore
import Map from 'react-leaflet'

3- 或者你可以帮自己和别人一个忙,在 DefinitelyTyped 回购中添加库类型。

如果还是不行,我首先建议你使用最新版本的 Typescript。如果你这样做,然后关闭你的编辑器,删除 node_modules 文件夹并再次安装依赖项( npm installyarn install 再次-。)

原文由 Mahdi Ghajary 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进