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

时间:2019-11-26 17:44:25

标签: typescript parcel

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

2 个答案:

答案 0 :(得分:1)

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收集许多节点模块的类型定义。也许在那里找到了定义。 Maybe these

There is also an example了解如何安装定义。

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

编辑:

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

答案 1 :(得分:0)

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