Skip to content

Latest commit

 

History

History
113 lines (85 loc) · 1.91 KB

pnpm-workspace-command.md

File metadata and controls

113 lines (85 loc) · 1.91 KB
title postSlug featured draft tags description pubDatetime updateTime
记录一些pnpm的workspace用法
pnpm-workspace-command
false
false
pnpm
使用pnpm自带的workspace管理多包仓库,以下是我使用过程中的一些经验。这里记录下来,以供以后查找。
2024-02-23 15:59:22 UTC
2024-03-02 15:49:07 UTC

使用 pnpm 自带的 workspace 管理多包仓库,以下是我使用过程中的一些经验。这里记录下来,以供以后查找。

|-- packages
|   |-- a
|   |   |-- src
|   |   |-- package.json
|   |-- b
|   |   |-- src
|   |   |-- package.json
|   |-- c
|       |-- src
|       |-- package.json
|-- package.json
|-- pnpm-workspace.yaml

文件说明

package.json

{
  "name": "p"
}

pnpm-workspace.yaml

packages:
  - 'packages/*'

packages/a/package.json

{
  "name": "@p/a"
}

packages/b/package.json

{
  "name": "@p/b"
}

packages/c/package.json

{
  "name": "c"
}

pnpm 的一些命令

-C,--dir

在相对路径中执行命令。详细说明

# 执行a包的a包的build命令
pnpm -C packages/a build

-w,--workspace-root

在工作空间根目录中执行命令。详细说明

-r

每个包都执行命令。详细说明

# a,b,c三个包分别执行publish命令
pnpm publish -r

--filter,-F

筛选特定的包名。详细说明

# 在c包中安装lodash作为依赖
pnpm add lodash --filter c
# 执行c包的build命令
pnpm -F c build

--workspace

仅在工作区内执行相关命令。

# 在@p/b的包中,安装工作空间中的@p/a包作为依赖
pnpm add @p/a -F @p/b --workspace