包裹-如何添加类型定义?

问题描述 投票:1回答:2

我正在尝试在我的Typescript项目中导入.png文件,但是找不到该模块。我正在使用Parcel作为编译器,并且想添加类型定义。我找不到包裹的相关信息,该如何专门针对包裹进行处理?

typescript parcel
2个回答
0
投票

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

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

{
    "include": [
        "src/**/*"
    ]
}

除此之外,许多节点模块附带有打字稿定义。它们是handled by this rule

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

如果找不到应该处理.png文件的模块,这可能是因为它没有开箱即用的打字稿定义。有一个repository收集许多节点模块的类型定义。也许在那里找到定义。

There is also an example关于如何安装定义。

也有可能该模块还没有类型定义。在这种情况下,您必须提出自己的建议。这不一定像听起来那样糟糕。通常,您可以创建一个最小限度的声明文件,其中仅包含您实际使用的几种方法。这里是docs,请看一下示例。

编辑:

忘记提及:听起来与包裹无关。在后台,Parcel只是在调用打字稿编译器本身。剔除中间人可以使错误消息更易于理解。您可能想要尝试直接调用Typescript编译器并对其进行配置,直到处理完所有错误和警告为止。这将更加直接,并掩盖了Parcel增加的复杂性。如果打字稿编译器满意,Parcel也应该可以正常工作。


0
投票

通过使用declare module "*.png";将globals.d.ts添加到项目中来解决在其中。

© www.soinside.com 2019 - 2024. All rights reserved.