pnpm 将子项目作为依赖引入项目
· 阅读需 2 分钟
创建和配置 pnpm 工作空间
创建 pnpm-workspace.yaml
文件: 在项目的根目录下创建一个 pnpm-workspace.yaml
文件,用于指定包含的子项目路径。
packages:
- 'packages/*'
这告诉 pnpm
,packages
文件夹下的每个子目录都是单独的项目,并应该被视为工作空间的一部分。
初始化子项目: 确保每个子项目目录下都有自己的 package.json
文件。这些 package.json
文件应定义各自的依赖和脚本。
安装和管理依赖
安装依赖: 在根目录执行 pnpm install
命令。这会根据 pnpm-workspace.yaml
的配置为所有子项目安装依赖,并在根目录的 node_modules
中创建必要的符号链接。
添加跨项目依赖: 如果你想在一个子项目中使用另一个子项目作为依赖,可以在 package.json
中使用 workspace:
协议。例如,如果 projectA
依赖于 projectB
,则 projectA
的 package.json
应写为
{
"dependencies": {
"projectB": "workspace:*" // 注意这个 projectB 就是你子项目的文件夹名字
}
}
这告诉 pnpm
从当前工作空间中找到 projectB
并将其链接到 projectA
。
构建和运行项目
构建项目: 根据每个项目的配置,运行相应的构建命令。你可以在根目录下使用 pnpm run --filter <project-name> build
来针对特定项目运行构建脚本。
开发中的项目互用: 使用工作空间协议 workspace:*
允许你在开发中实时链接子项目,任何在依赖项目中的改动都会立即反映到使用该依赖的项目中。