lerna 包管理器

Lerna 是一種工具,針對 使用 git 和 npm 管理多軟件包代碼倉庫的工做流程進行優化。 多包管理器javascript

安裝

npm i lerna -g

命令

  • init 項目初始化
lerna init // 默認初始化
lerna init --independent // 使用獨立版本模式
lerna init --exact

init 生成目錄java

packages/  // 默認包目錄
 package.json 
 lerna.json // lerna 配置 
  • bootstrap 爲全部包安裝依賴
lerna bootstrap
  • add 添加依賴, 相似 npm install
lerna add <package> // 爲全部包安裝依賴
lerna add <package> --scope=<targe>  // 只爲 targe 安裝 package
lerna add <package> --dev // 標記爲開發依賴
  • run 執行包內 scripts 命令
lerna run test // 執行全部包內的 test 命令
lerna run --scope=root dev // 只執行root包內的 dev 命令
  • create 建立新包
lerna create pk-name // 在默認包管理目錄生成包 pk-name
lerna create pk-name src // 在src目錄下生成包 pk-name, 指定包生成目錄
  • exec 執行任意指令
lerna exec -- rm -fr lib  // 刪除全部包內的 lib 目錄
lerna exec --scope root -- ls // 查看 root 包內目錄 
  • publish 發佈包
  • updated 更新包
  • clean 刪除全部包內 node_modules
  • changed 列出有更新的包
  • list 列出公共包
lerna ls // 顯示全部公開包, package.json => { private:false } 
lerna ls -a // 顯示全部包, 包含私有包
  • import 導入本地包
  • link 建立依賴鏈接
  • info 顯示基礎信息

learn.json 配置

{
  "version": "1.1.3", // 統一包版本, 爲 "independent" 時,各個包獨立管理版本
  "npmClient": "yarn", // 包命令客戶端
  "npmClientArgs": [ "--production" ], // 包命令參數
  "packages": [ // 包管理目錄
    "packages/*",
    "apps/*"
  ],
  "command": {  // 命令配置
  
    "publish": {
      "ignoreChanges": ["ignored-file", "*.md"],
      "message": "chore(release): publish",
      "registry": "https://npm.pkg.github.com"
    },


    "bootstrap": {
      "ignore": "component-*",
      "npmClientArgs": ["--no-package-lock"]
    }


  }

文檔

官網文檔node

中文文檔git

lerna 的基礎使用github

使用lerna優雅的管理多個packagenpm

本文同步分享在 博客「直立猿」(JianShu)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。json

相關文章
相關標籤/搜索