首页 > 解决方案 > 导入现有 .jsx 文件时“找不到模块的声明文件”

问题描述

(抱歉,如果这是重复的,我找不到任何处理现有 .jsx 文件的问答)

我一直在将我的应用程序迁移到打字稿,现在有很多以下错误:

Could not find a declaration file for module '../components/...'. '.../components/....js' implicitly has an 'any' type.ts(7016)

我不希望现在必须浏览我的整个应用程序并将所有内容转换为.tsx. 考虑到我现在只想忽略导入的问题,我觉得在我的文件中noImplicitAny转向会过度。falsetsconfig

有没有更明智的方法来解决这些错误?

标签: javascriptreactjstypescriptmoduletsconfig

解决方案


您应该为一些不存在的包创建类型。

declare module 'objectname' {
  const content: any;
  export default content;
}

所有的 javascript 模块可能都不包含它的类型。因此,我们需要为我们定义的对象创建类型定义。为第三方定义的最简单方法如上所述。由于 webpack 检查相应的index.d.ts. 这d.ts是您将拥有的对象的类型定义文件。

在您的情况下,它丢失了,因此您收到该错误。因此,必须使用对象名称创建类型定义文件。或者有时会是扩展名。

any指对象内的任何数据类型。您必须亲自动手使用 typescript 接口和类型。

简单的例子


推荐阅读