Stories

Detail Return Return

使用 airpack 讓多個項目共享 webpack 配置 - Stories Detail

airpack 是一個 webpack-cli 的包裝器。旨在讓你更優雅的使用 webpack。

airpack 在 node 加載 webpack-cli 模塊時,給 webpack-cli 打上功能增強補丁。這個補丁讓 webpack-cli 能按一定的優先級順序自動從多個位置(項目依賴、項目目錄、命令行參數)讀取 webpack 配置,然後用更合適的方式合併這些 webpack 配置。

使用 airpack 時,你的 package.json 看起來就像這樣:

{
  "scripts": {
    "dev": "NODE_ENV=development airpack --server",
    "build": "NODE_ENV=production airpack"
  },
  "devDependencies": {
    "@arzyu/webpack-config-web": "^0.1.3",
    "airpack": "^1.0.1",
    "webpack-cli": "^4.7.2",
    "webpack-dev-server": "^3.11.2"
  },
}
  • npm run dev,啓動本地開發服務(調用 webpack serve
  • npm run build,運行打包(調用 webpack

通過這種方式使用 webpack 配置會有很多好處:

  • 項目目錄會更乾淨,只有項目相關的邏輯,沒有 .babelrc.*postcss.config.js.eslintrc.*、…,甚至也不需要 webpack.config.*。項目模板化會更方便。可以參看範例項目:arzyu/react-webpack-playground。
  • 使用更少的 devDependencies,依賴列表的長度從一個胳膊縮短到了一根手指,所有與 webpack 配置相關的依賴都放在獨立的 webpack-config-* 包中。
  • 使用獨立的 webpack-config-* 包更容易管理,版本控制、迭代會更方便,同時也利於分享。將包發佈到自己或組織的名下更合適,可以參考範例配置:@arzyu/webpack-config-web。複雜的配置還可以拆分為多個包,airpack 能幫你合併它們。

更詳細的説明,請移步項目倉庫查閲:
https://github.com/arzyu/airpack

Add a new Comments

Some HTML is okay.