Parcel轉換
轉換
儘管許多打包器(bundler) 都要求你安裝和設定插件來轉換資源,Parcel 內建許多長江的轉換和轉譯器,讓你開箱即用。你可以使用 Babel 轉換 JavaScript,CSS 使用 PostCSS ,HTML 使用 PostHTML 。當在模組中找到設定檔(例如 .babelrc ,.postcssrc )時, Parcel 會自動執行這些轉換。
這甚至可以在第三方 node_modules 中運作:如果設定檔是作為套件的一部分發布的,轉換會自動打開,且僅適用於該模組。由於只處理需要轉換的模組,因此可以快速打包。這也意味著您不需要手動配置轉換來包含和排除某些文件,或者知道第三方程式碼是如何建構的,以便在您的應用程式中使用它。
Babel
Babel 是一個流行的 JavaScript 轉譯器,擁有大量的插件生態系統。在 Parcel 中使用 Babel 的方式與其單獨使用或與其他打包器搭配使用的方式相同。
在你的應用程式中安裝預設和外掛程式:
yarn add babel-preset-env
然後,建立一個.babelrc 檔案:
{ "presets": ["env"] }
##PostCSS PostCSS 是一個用外掛程式轉換CSS 的工具,像是autoprefixer, cssnext, 和CSS Modules。您可以使用以下名稱之一建立設定文件,從而使Parcel 使用PostCSS 配置: .postcssrc (JSON), .postcssrc.js, 或者postcss.config.js.
在你的應用程式中安裝插件:
yarn add postcss-modules autoprefixer然後,建立一個.postcssrc 檔案:
{ "modules": true, "plugins": { "autoprefixer": { "grid": true } } }外掛程式指定在plugins 物件的key 中,並選項定義使用物件值。如果插件沒有選項,只需將其設為 true 即可。
Autoprefixer , cssnext 和其他工具的目標瀏覽器可以在 .browserslistrc 檔案中指定:
> 1% last 2 versionsCSS Modules 的啟用方式稍有不同,在頂級 modules key 上使用。這是因為 Parcel 需要對 CSS Modules 有特殊的支持,因為它們也會匯出一個對象,包含到 JavaScript 套件中。請注意,你仍然需要在你的專案中安裝 postcss-modules 。
PostHTMLPostHTML 是用外掛程式轉換 HTML 的工具。您可以使用以下名稱之一建立設定文件,從而使Parcel 使用PostHTML 設定:.posthtmlrc (JSON), posthtmlrc.js, 或posthtml.config.js.
在你的應用程式中安裝外掛程式:
yarn add posthtml-img-autosize然後,建立一個.posthtmlrc 檔案:
#
{ "plugins": { "posthtml-img-autosize": { "root": "./images" } } }
外掛程式指定在 plugins 物件的 key 中,並選項定義使用物件值。如果插件沒有選項,只需將其設為 true 即可。
TypeScript
TypeScript 是 JavaScript 型別的超集,可以編譯成普通的JavaScript,它也支援現代的 ES2015 功能。無需任何額外的配置即可轉換 TypeScript 。
<!-- index.html --> <html> <body> <script src="./index.ts"></script> </body> </html> // index.ts import message from "./message"; console.log(message); // message.ts export default "Hello, world";