返回
使用PNPM构建单一仓库工作区:从零开始掌握
前端
2023-09-03 21:37:07
引言
单一仓库工作区(Monorepo)是一种将多个独立项目存储在单个Git存储库中的软件开发实践。近年来,它越来越受欢迎,因为可以简化依赖关系管理、提高开发效率并促进团队协作。
在本文中,我们将使用PNPM(Performance Node Package Manager),一种快速且高效的包管理工具,从头开始创建一个Monorepo工作区。PNPM提供出色的依赖项管理,使其非常适合于处理大型和复杂的Monorepo。
步骤 1:创建工作区
- 初始化一个新的Git存储库:
git init
- 创建一个pnpm工作区文件夹:
mkdir packages
- 导航到工作区文件夹:
cd packages
步骤 2:初始化PNPM工作区
- 安装PNPM:
npm install -g pnpm
- 初始化PNPM工作区:
pnpm init
步骤 3:创建包
- 为每个项目创建一个包文件夹。例如,创建一个名为“my-app”的包:
mkdir my-app
- 在包文件夹中,运行:
pnpm init
- 为每个包创建package.json文件。
步骤 4:管理依赖关系
- 为所有包安装共用依赖关系,例如React或Redux。在工作区根目录中运行:
pnpm install react redux --workspace-root
- 为每个包安装特定依赖关系。例如,为“my-app”包安装Axios:
pnpm install axios --save-dev
步骤 5:链接包
- 在每个包中创建“.link”文件。例如,在“my-app”包中,创建.link文件并输入:
file:../
- 这将链接包到工作区根目录。
步骤 6:构建脚本
- 在每个包中创建“package.json”文件,并添加一个构建脚本。例如,在“my-app”包中:
{
"scripts": {
"build": "pnpm run build --filter @my-scope/my-app"
}
}
- 这将使用PNPM的“--filter”选项仅为该包构建依赖项。
步骤 7:版本控制
- 提交更改到Git。
git add .
git commit -m "Initial commit"
- 使用语义版本控制对包进行版本控制,例如SemVer。
结论
遵循这些步骤,您已经成功使用PNPM创建了一个Monorepo工作区。这将简化您的依赖关系管理,提高您的开发效率,并为您的团队协作创造更好的环境。
附加提示
- 使用PNPM的“--shamefully-hoist”选项,将共同的依赖项提升到工作区根目录,以最大限度地提高性能。
- 考虑使用像Lerna这样的工具来简化Monorepo的管理,例如自动版本控制和发布。
- 定期审查您的依赖关系,并删除不再需要的依赖关系,以保持工作区精简。