Parcel 采取了与许多其他打包工具略有不同的方法,因为许多常见的格式,包括开箱即用,无需安装和配置额外的插件。但是,有些情况下你可能希望以非标准方式扩展 Parcel ,这时,你可以使用插件来支持。已安装的插件会根据 package.json 依赖关系自动检测和加载。
向 Parcel 添加对新文件格式的支持时,你应该首先考虑它会有多广泛的应用,以及如何标准化的实施。 如果它足够广泛和标准,这种格式可能应该添加到 Parcel 核心,而不是作为用户需要安装的插件存在。如果你有任何疑问, 那么 GitHub 是一个非常不错的讨论地方。
**插件 API**
***
Parcel 插件非常简单。 它们只是导出单个函数的模块,在初始化过程中会自动被 Parcel 调用。 该函数接收 Bundler 对象作为输入,并可以执行配置,如注册资产资源和打包器。
~~~
module.exports = function (bundler) {
bundler.addAssetType('ext', require.resolve('./MyAsset'));
bundler.addPackager('foo', require.resolve('./MyPackager'));
};
~~~
使用 parcel-plugin- 前缀,并且将这个包发布到 npm 上,它将被自动检测并加载,如下所述。
**使用插件**
***
在 Parcel 中使用插件非常简单。所有你需要做的是安装它们并保存到你的 package.json 中。插件应该用 parcel-plugin- 前缀命名,例如 parcel-plugin-foo 。在 package.json 中列出的任何依赖关系都会在初始化时自动加载。