許多打包工具需要你安裝和配置插件來轉(zhuǎn)換資源,Parcel 支持許多開箱即用的轉(zhuǎn)換器和內(nèi)置的編譯器。您可以使用 Babel 轉(zhuǎn)換 JavaScript ,使用 PostCSS 轉(zhuǎn)換 CSS ,使用 PostHTML 轉(zhuǎn)換 HTML。Parcel 在模塊中找到配置文件 (例如 .babelrc ,.postcssrc) 時會自動運行并進(jìn)行轉(zhuǎn)換。(除了在.babelrc指定的轉(zhuǎn)換外,Parcel 總會在所有模塊上使用 Babel 編譯成瀏覽器支持的現(xiàn)代 JavaScript。請參閱JavaScript/Default Babel Transforms 查看更多信息。)
配置文件(例如 .babelrc)默認(rèn)情況下不會應(yīng)用于第三方node_modules中的文件。但是,如果這個模塊目錄是軟鏈接的(這在一些 monorepo 約定中很常見)并且這個模塊的package.json有source字段,那么將遵守當(dāng)前模塊目錄下的配置文件。下列是source字段支持的類型值:
{
"main": "foo.js",
"source": true
}
{
"main": "foo.js",
"source": "bar.js"
}
{
"main": "foo.js",
"source": {
"./foo.js": "./bar.js",
"./baz.js": "./yay.js"
}
}
{
"main": "foo.js",
"source": {
"./lib/**": "./src/$1"
}
}
最后一個例子是以 src 替換你的 lib 入口目錄,所以 import 'my-module/lib/test.js' 將會解析為 'my-module/src/test.js'。
針對那些根目錄有許多文件要替換的包,比如 lodash,則你可以使用"**":"./src/$1"這種模式匹配所有(例如把 lodash/cloneDeep 替換成 lodash/src/cloneDeep)
更多建議: