workspace
初始化 monorepo 项目结构
1 | # 创建root project |
配置子项目的package.json
文件, app 依赖 down-cli
app/package.json 配置如下
1 | { |
down-cli/package.json 配置如下:
1 | { |
down-cli/bin/index.js
1 |
|
安装依赖
在 root project 下面执行 pnpm i
, pnpm 会自动安装依赖,子项目间的相互依赖会 link 到对应项目的 node_modules 文件夹下.
比如, 以上的项目结构,app/node_modules/down-cli
会软链接到 down-cli/bin/index.js
执行子项目的命令
配置 root project 的 npm scripts 执行指定子项目的命令
mono-project/package.json
1 | { |
更多 --filter
参数的用法可查帮助信息 pnpm help run
在 root project 下执行, pnpm down
可测试子项目的命令,实现脚本工具(down-cli
)的开发调试
在 root project 下,按照指定子项目的依赖: pnpm add lodash --filter app
同理,发布某个子工程对应的 package, pnpm publish --filter app
or pnpm publish --F app