Parcel 轉(zhuǎn)換(Transforms)

2020-02-14 17:26 更新

轉(zhuǎn)換(Transforms)

許多打包工具需要你安裝和配置插件來轉(zhuǎn)換資源,Parcel 支持許多開箱即用的轉(zhuǎn)換器和內(nèi)置的編譯器。您可以使用 Babel 轉(zhuǎn)換 JavaScript ,使用 PostCSS 轉(zhuǎn)換 CSS ,使用 PostHTML 轉(zhuǎn)換 HTML。Parcel 在模塊中找到配置文件 (例如 .babelrc ,.postcssrc) 時(shí)會(huì)自動(dòng)運(yùn)行并進(jìn)行轉(zhuǎn)換。(除了在.babelrc指定的轉(zhuǎn)換外,Parcel 總會(huì)在所有模塊上使用 Babel 編譯成瀏覽器支持的現(xiàn)代 JavaScript。請(qǐng)參閱JavaScript/Default Babel Transforms 查看更多信息。)

第三方模塊

配置文件(例如 .babelrc)默認(rèn)情況下不會(huì)應(yīng)用于第三方node_modules中的文件。但是,如果這個(gè)模塊目錄是軟鏈接的(這在一些 monorepo 約定中很常見)并且這個(gè)模塊的package.json有source字段,那么將遵守當(dāng)前模塊目錄下的配置文件。下列是source字段支持的類型值:

  • 將所有文件視為源碼,不做解析
{
  "main": "foo.js",
  "source": true
}
  • 當(dāng)使用源碼編譯時(shí),使用 bar.js 作為入口
{
  "main": "foo.js",
  "source": "bar.js"
}
  • 當(dāng)使用源碼編譯時(shí),指定文件別名
{
  "main": "foo.js",
  "source": {
    "./foo.js": "./bar.js",
    "./baz.js": "./yay.js"
  }
}
  • 當(dāng)使用源碼編譯時(shí),使用 glob 模式指定別名
{
  "main": "foo.js",
  "source": {
    "./lib/**": "./src/$1"
  }
}

最后一個(gè)例子是以 src 替換你的 lib 入口目錄,所以 import 'my-module/lib/test.js' 將會(huì)解析為 'my-module/src/test.js'。

針對(duì)那些根目錄有許多文件要替換的包,比如 lodash,則你可以使用"**":"./src/$1"這種模式匹配所有(例如把 lodash/cloneDeep 替換成 lodash/src/cloneDeep)


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)