Lerna

Lerna.json

{
  "npmClient": "npm",
  "version": "independent",
  "command": {
    "publish": {
      "ignoreChanges": ["ignored-file", "*.md"],
      "message": "chore(release): publish",
      "registry": "http://52.83.246.145:8082/repository/npm/"
    },
    "bootstrap": {
      "ignore": [
        "component-*",
        "*/pkg-2"
      ],
      "npmClientArgs": ["--no-package-lock"]
    }
  },
  "packages": [
    "packages/*"
  ]
}

bootstrap

ignore

ignore 為 glob,并且其匹配的是 package 的名稱,而不是 packages 目錄下該 package 的目錄名稱。

ignore 選項(xiàng)可接受 glob 字符串,或者 glob 字符串?dāng)?shù)組。

在后面的示例中,每個(gè)包的名稱都有 @pkg/ 前綴,如 pkg-1package.json 文件如下:

{
  "name": "@pkg/pkg-1",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "wahaha <travellingkitee@gmail.com>",
  "license": "ISC"
}

因此,這時(shí)候 --ignore 應(yīng)該去匹配 package.json 文件中的 name 字段,而不是去匹配文件夾名 pkg-1。

示例

示例地址

目錄結(jié)構(gòu):


├── lerna.json
├── package.json
└── packages
    ├── pkg-1
    │   └── package.json
    ├── pkg-2
    │   └── package.json
    └── pkg-3
        └── package.json

bootstrap

多個(gè) package 公共依賴:

lerna bootstrap --hoist
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容