iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 21
0
Software Development

模組化設計系列 第 21

Day21 - lerna.js 與 yarn 整合

我們延續上一個 demo 範例 https://github.com/alincode/lerna-sandbox-2019

編輯 lerna.json

  • 添加 npmClient 屬性,npmClient 預設是 npm,你可以把它改成 yarn
  • 添加 useWorkspaces 為 true
{
  "packages": ["packages/*"],
  "npmClient": "yarn",
  "useWorkspaces": true,
  "version": "independent"
}

因為 yarn 不會知道 lerna.json 這個檔案的存在,所以你要編輯 package.json 添加 workspaces 屬性,這樣就搞定囉。

{
  "name": "root",
  "private": true,
  "workspaces": ["packages/*"],
  "devDependencies": {
    "lerna": "^3.16.4"
  }
}

接著你在執行

yarn install

就會發現之前三個目錄下都有 node_modules 資料夾,但現在只有根目錄才有 node_modules 資料夾了。

如果用 npm 安裝會有三個資料夾

packages/app-api-server/node_modules
packages/app-core/node_modules
packages/app-socket-server/node_modules

上一篇
Day20 - lerna.js 其他實用指令
下一篇
Day22 - Git Submodule
系列文
模組化設計30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言