包裹 - 如何添加类型定义?
Parcel - How do I add type definitions?
我正在尝试在我的 Typescript 项目中导入一个 .png 文件,但找不到该模块。我使用 Parcel 作为我的编译器,我想添加类型定义。我该如何专门针对 Parcel 执行此操作,因为我找不到任何相关信息?
Parcel依赖于tsconfig.json配置的typescript编译器。可以找到相关文档here
除其他外,配置允许您指定要编译的源文件。以下将是一个有效的配置,编译器将处理 src 路径中的所有 .ts
和 .d.ts
文件:
{
"include": [
"src/**/*"
]
}
除此之外,许多节点模块都附带打字稿定义。他们是 handled by this rule:
By default all visible “@types” packages are included in your
compilation. Packages in node_modules/@types of any enclosing folder
are considered visible; specifically, that means packages within
./node_modules/@types/, ../node_modules/@types/,
../../node_modules/@types/, and so on.
如果找不到应该处理 .png 文件的模块,这可能是因为它没有开箱即用的打字稿定义。
有个repository which collects type definitions for many node modules. Maybe you find the definitions there. Maybe these?
There is also an example关于如何安装定义。
也有可能该模块尚不存在类型定义。在这种情况下,您将不得不提出自己的想法。这不一定像听起来那么糟糕。通常你可以创建一个最小的声明文件,它只包含你实际使用的少数方法。这是docs,看看例子。
编辑:
忘了说:这听起来好像与 Parcel 无关。在幕后,Parcel 只是调用打字稿编译器本身。去掉中间人可以使错误消息更容易理解。您可能想尝试直接调用打字稿编译器并对其进行配置,直到所有错误和警告都得到处理。这将更直接并隐藏 Parcel 增加的复杂性。如果打字稿编译器满意,Parcel 应该也能正常工作。
通过在 declare module "*.png";
项目中添加 globals.d.ts 解决了这个问题
在里面。
我正在尝试在我的 Typescript 项目中导入一个 .png 文件,但找不到该模块。我使用 Parcel 作为我的编译器,我想添加类型定义。我该如何专门针对 Parcel 执行此操作,因为我找不到任何相关信息?
Parcel依赖于tsconfig.json配置的typescript编译器。可以找到相关文档here
除其他外,配置允许您指定要编译的源文件。以下将是一个有效的配置,编译器将处理 src 路径中的所有 .ts
和 .d.ts
文件:
{
"include": [
"src/**/*"
]
}
除此之外,许多节点模块都附带打字稿定义。他们是 handled by this rule:
By default all visible “@types” packages are included in your compilation. Packages in node_modules/@types of any enclosing folder are considered visible; specifically, that means packages within ./node_modules/@types/, ../node_modules/@types/, ../../node_modules/@types/, and so on.
如果找不到应该处理 .png 文件的模块,这可能是因为它没有开箱即用的打字稿定义。 有个repository which collects type definitions for many node modules. Maybe you find the definitions there. Maybe these?
There is also an example关于如何安装定义。
也有可能该模块尚不存在类型定义。在这种情况下,您将不得不提出自己的想法。这不一定像听起来那么糟糕。通常你可以创建一个最小的声明文件,它只包含你实际使用的少数方法。这是docs,看看例子。
编辑:
忘了说:这听起来好像与 Parcel 无关。在幕后,Parcel 只是调用打字稿编译器本身。去掉中间人可以使错误消息更容易理解。您可能想尝试直接调用打字稿编译器并对其进行配置,直到所有错误和警告都得到处理。这将更直接并隐藏 Parcel 增加的复杂性。如果打字稿编译器满意,Parcel 应该也能正常工作。
通过在 declare module "*.png";
项目中添加 globals.d.ts 解决了这个问题
在里面。