極速、免設定的網頁打包工具

開始使用 GitHub

🚀 打包超快速

Parcel 使用 worker 來進行多核編譯,再加上檔案系統快取,即便重啟後也能快速編譯。

📦 打包你所有的資源

Parcel 原生支援 JS、CSS、HTML 及一般檔案⋯等等,不需額外安裝外掛。

🐠 自動轉換

必要時程式會使用 Babel、PostCSS 或 PostHTML 自動轉換,甚至連 node_modules 也行。

✂️ 免設定的程式碼分離

使用動態的 import() 語法,Parcel 會將輸出的 bundle 分離,讓初始載入時只會載入必要的部分。

🔥 模組熱替換

Parcel 會在你開發時自動更新瀏覽器中的模組,無須額外設定。

🚨 友善的錯誤紀錄

當錯誤發生時,Parcel 會顯示高亮程式碼,協助你發現問題。

Hello World

Parcel 會從你的入口 HTML 開始,逐一尋找相依套件並建構出整個 app。

✏️ index.html

<html>
<body>
  <script src="./index.js"></script>
</body>
</html>

🛠 index.js

// 引入另一個元件
import main from './main';

main();

🛠 main.js

// 引入一個 CSS 模組
import classes from './main.css';

export default () => {
  console.log(classes.main);
};

💅 main.css

.main {
  /* 引用一張圖檔 */
  background: url('./images/background.png');
  color: red;
}

執行 parcel index.html 後即會啟動開發伺服器。引入 Javascript、CSS 和影像檔什麼的,這麼簡單就搞定了 👌

效能比較

打包工具 耗時
browserify 22.98 秒
webpack 20.71 秒
parcel 9.98 秒
parcel - 啟用快取 2.64 秒

本測試使用了一個大小合理的 app,包含 1726 個模組,共 6.5M 未經壓縮,並執行於 2016 的四核心 MacBook Pro。