Typescript 地块-如何添加类型定义?

Typescript 地块-如何添加类型定义?,typescript,parcel,Typescript,Parcel,我正在尝试在Typescript项目中导入.png文件,但找不到该模块。我正在使用Parcel作为编译器,我想添加类型定义。由于找不到任何关于Parcel的信息,我具体如何为Parcel执行此操作?Parcel依赖于由tsconfig.json配置的typescript编译器。可以找到相关文档 除此之外,配置允许您指定要编译的源文件。以下为有效配置,编译器将处理src路径中的所有.ts和.d.ts文件: { "include": [ "src/**/*" ] }

我正在尝试在Typescript项目中导入.png文件,但找不到该模块。我正在使用Parcel作为编译器,我想添加类型定义。由于找不到任何关于Parcel的信息,我具体如何为Parcel执行此操作?

Parcel依赖于由tsconfig.json配置的typescript编译器。可以找到相关文档

除此之外,配置允许您指定要编译的源文件。以下为有效配置,编译器将处理src路径中的所有
.ts
.d.ts
文件:

{
    "include": [
        "src/**/*"
    ]
}
除此之外,许多节点模块附带类型脚本定义。它们是:

默认情况下,所有可见的“@types”包都包含在您的 汇编任何封闭文件夹的node_modules/@类型中的包 被认为是可见的;具体来说,这意味着 ./node_modules/@types/,../node_modules/@types/, ../../node_modules/@types/等

如果无法找到应该处理.png文件的模块,这可能是因为它没有现成的typescript定义。 有一个用于收集许多节点模块的类型定义的。也许你可以在那里找到定义

关于如何安装定义

该模块还可能不存在类型定义。那样的话,你就得自己想办法了。这并不一定像听起来那么糟糕。通常,您可以创建一个最小的声明文件,该文件只包含实际使用的少数方法。下面是关于这一点的说明,看看例子

编辑:


忘了提一下:这听起来和包裹无关。在幕后,Parcel只是调用typescript编译器本身。删除中间人可以使错误消息更容易理解。您可能希望尝试直接调用typescript编译器并对其进行配置,直到处理完所有错误和警告。这将更直接,并隐藏包裹的额外复杂性。如果typescript编译器感到满意,那么Parcel也应该可以工作。

通过使用
声明模块“*.png”向项目添加globals.d.ts解决了这个问题

在其中,

parcel调用typescript编译器,然后用tsconfig.json文件配置该编译器。您可以在此处编辑类型定义文件的路径。我不确定这与.png文件有什么关系,虽然这不是一个真正的解决方案,只是一个关闭类型检查的黑客。您确定没有合适的定义可用吗。例如:如果我安装了这个包,即使它有png类型,也不会发生任何事情。我应该在我的tsconfig中添加一些东西吗?>发布了一个新问题:我应该如何直接调用typescript编译器来配置它?我是新手,所以你刚才说的对我来说是火箭科学。