請注意: 此頁為 Parcel 1 的說明,Parcel 2 版本的說明頁面尚未完成。

🐠 轉換

市面上許多打包工具在轉換資源前都需要安裝並設定外掛,Parcel 則是原生支援了眾多轉換及轉譯器。你可以使用 Babel 轉換 JavaScript;使用 PostCSS 轉換 CSS 及使用 PostHTML 來轉換 HTML。

Parcel 會自動搜尋模組內的設定檔,如 .babelrc.postcssrc,並自動執行這些轉換,甚至還能轉換 node_modules 中的三方套件:若套件中有設定檔的話,Parcel 將會針對此套件進行轉換。除了 .babelrc 中指定的轉換以外,Parcel 還會用 Babel 來將那些新的 JavaScript 語法轉換為瀏覽器可支援的型態,詳情請見預設的 Babel 轉換一節。

三方模組

.babelrc 這類的設定檔並不會套用至 node_modules 內的三方模組,除非模組目錄使用軟連結(在 monorepo 中常見的做法)且其 package.json 設定了 source 欄位,只有在這種情況下才會套用模組目錄內的設定檔。下列是所有支援的 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 目錄,當匯入 my-module/lib/test.js 時,將會解析為 my-module/src/test.js。

針對那些根目錄有眾多檔案的套件,如 lodash,則你可以使用 "**": "./src/$1" 這種形式來取代(如:將lodash/cloneDeep 取代為 lodash/src/cloneDeep)。

協助我們讓本文件更加完善

若有什麼內容遺漏了或是敘述不清楚的地方,請在本站的 repository 中開啟一個 issue 或者編輯此頁面