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 中列出的任何依賴關系都會在初始化時自動加載。