@tianyio/quality-helper
Version:
A comprehensive quality helper tool for project scaffolding and management
139 lines (91 loc) • 2.65 kB
Markdown
# 依赖管理策略
## 1. 策略概述
本项目采用 pnpm 进行依赖管理,通过集中化管理策略,确保依赖版本一致性并降低维护成本。
## 2. 依赖分类管理
### 2.1 开发依赖 (devDependencies)
- **管理位置**: 根目录 package.json
- **内容**: 构建工具、代码规范工具、测试工具等
- **示例**: vite, typescript, eslint, prettier 等
### 2.2 生产依赖 (dependencies)
- **管理位置**: 根目录 package.json
- **内容**: 项目运行所需的依赖
- **示例**: vue, vue-router, pinia 等
### 2.3 工作区内部包
- **管理方式**: 使用 `workspace:*` 协议
- **示例**: `"@tianyio/quality-helper": "workspace:*"`
## 3. 操作指南
### 3.1 添加新依赖
#### 添加开发依赖
```bash
# 添加开发依赖
pnpm add -D <package-name>
```
#### 添加生产依赖
```bash
# 添加生产依赖
pnpm add <package-name>
```
#### 添加工作区内部依赖
```bash
# 添加工作区内部依赖
pnpm add <package-name> --workspace
```
### 3.2 更新依赖
#### 更新所有依赖
```bash
# 更新所有依赖
pnpm update
```
#### 更新特定依赖
```bash
# 更新特定依赖
pnpm update <package-name>
```
### 3.3 移除依赖
```bash
# 移除依赖
pnpm remove <package-name>
```
## 4. 最佳实践
### 4.1 依赖版本一致性
- 所有公共依赖版本由根目录 package.json 统一管理
- 避免在子项目中重复声明公共依赖
### 4.2 内部包引用
- 使用 `workspace:*` 协议引用工作区内部包
- 确保内部包版本自动同步
### 4.3 依赖审计
```bash
# 查看依赖树
pnpm list
# 查看过时依赖
pnpm outdated
# 安全漏洞扫描
pnpm audit
```
## 5. 工具包依赖管理
### 5.1 @tianyio/quality-helper
质量工具包包含以下功能:
- 项目脚手架
- 配置文件更新
- 依赖管理
- 版本信息生成
### 5.2 @tianyio/fast-util-lib
工具库包含以下功能:
- 事件系统
- 日志模块
- 网络模块
- 性能监控
- 错误处理
## 6. 常见问题处理
### 6.1 依赖冲突
1. 检查 pnpm-workspace.yaml 配置是否正确
2. 使用 `pnpm list <package-name>` 查看版本分布
3. 在根目录 package.json 中使用 `pnpm.overrides` 字段强制统一版本
### 6.2 依赖未找到
1. 确认 pnpm-workspace.yaml 中包含了正确的包路径
2. 检查内部包是否正确使用 `workspace:*` 协议
3. 运行 `pnpm install` 重新安装依赖
## 7. 维护建议
1. **定期更新**: 每月定期检查并更新依赖版本
2. **版本锁定**: 使用 `pnpm update` 而非直接修改版本号
3. **文档同步**: 依赖结构调整后及时更新本文档