javascript - 导入现有 .jsx 文件时“找不到模块的声明文件”
问题描述
(抱歉,如果这是重复的,我找不到任何处理现有 .jsx 文件的问答)
我一直在将我的应用程序迁移到打字稿,现在有很多以下错误:
Could not find a declaration file for module '../components/...'. '.../components/....js' implicitly has an 'any' type.ts(7016)
我不希望现在必须浏览我的整个应用程序并将所有内容转换为.tsx
. 考虑到我现在只想忽略导入的问题,我觉得在我的文件中noImplicitAny
转向会过度。false
tsconfig
有没有更明智的方法来解决这些错误?
解决方案
您应该为一些不存在的包创建类型。
declare module 'objectname' {
const content: any;
export default content;
}
所有的 javascript 模块可能都不包含它的类型。因此,我们需要为我们定义的对象创建类型定义。为第三方定义的最简单方法如上所述。由于 webpack 检查相应的index.d.ts
. 这d.ts
是您将拥有的对象的类型定义文件。
在您的情况下,它丢失了,因此您收到该错误。因此,必须使用对象名称创建类型定义文件。或者有时会是扩展名。
any
指对象内的任何数据类型。您必须亲自动手使用 typescript 接口和类型。
推荐阅读
- sql - PostgreSQL - 哪部电影在“体育”类别中最受欢迎?
- d3.js - 在 d3js 中尊重曲线边界的单流流图的最大值处绘制垂直带?
- php - 当有人上传内容时自动刷新并显示文件列表的网页
- powershell - Powershell Get-ADUser - 无效的枚举上下文错误
- python - 在 python 中查找朋友的生日
- image - 我正在使用带有 raspian stretch lite 的树莓派 3。我创建的文件保存在哪里?
- javascript - 显示单击的特定项目列表的子内容。
- python - 如何在 linux ubuntu 上使用安装模块?
- android - net::ERR_FILE_NOT_FOUND 加载以锚定新版本的 WebView
- javascript - 在没有 react-ga 的 React 中使用 analytics.js