📦 依赖管理实战
📚 30章
完整体系 · 从入门到未来
1
依赖管理概述
什么是依赖管理 · 为什么需要 · 演进历史 (手动下载→npm/yarn/pnpm)
→
2
npm核心概念
package.json详解 · SemVer · dependencies vs devDependencies
→
3
npm基础操作
npm init / install / uninstall / update
→
4
npm进阶技巧
npm ci · package-lock.json · audit · outdated
→
5
npm脚本与钩子
scripts配置 · pre/post钩子 · 自定义自动化构建
→
6
npm私有仓库
搭建私有仓库 · verdaccio · 发布与使用私有包
→
7
yarn入门
设计理念 · 与npm对比 · 安装与基本使用
→
8
yarn核心特性
yarn.lock · 离线缓存 · workspaces工作空间
→
9
yarn进阶
yarn berry (v2+) · Plug'n'Play · 约束与策略
→
10
pnpm入门
设计哲学 · 硬链接与符号链接 · 安装与基本使用
→
11
pnpm核心优势
磁盘空间节省 · 安装速度提升 · 严格依赖隔离
→
12
pnpm进阶
workspace配置 · filter过滤 · store管理
→
13
依赖版本管理
SemVer深入 · 版本范围与锁定 · ^ 与 ~ 区别
→
14
依赖冲突与解决
依赖树 · 嵌套依赖 · 扁平化策略 · 严格隔离方案
→
15
lock文件深度解析
package-lock / yarn.lock / pnpm-lock · 冲突解决
→
16
monorepo架构
什么是monorepo · vs multirepo · 优缺点
→
17
Lerna入门
Lerna是什么 · 基本配置 · publish & bootstrap
→
18
Lerna进阶
与yarn/pnpm workspaces集成 · 版本管理策略
→
19
Nx入门
Nx是什么 · workspace/projects/targets · 安装初始化
→
20
Nx进阶
依赖图分析 · 缓存与计算缓存 · affected增量构建
→
21
Turborepo入门
设计理念 · 安装配置 · pipeline机制
→
22
Turborepo进阶
远程缓存 · 与pnpm集成 · 并行执行策略
→
23
依赖安全
npm/yarn audit · Snyk · 漏洞修复策略
→
24
依赖更新策略
手动 vs 自动 · Renovate/Dependabot · 最佳实践
→
25
包发布与管理
npm publish · 版本号 · tag/dist-tag · 弃用与撤销
→
26
CI/CD中的依赖管理
GitHub Actions · 缓存策略 · lock文件处理
→
27
依赖管理最佳实践
锁定版本 · 定期更新 · 最小化依赖 · 精确版本
→
28
常见问题排查
安装失败 · 权限 · 网络 · 缓存清理
→
29
依赖管理工具选型
npm vs yarn vs pnpm · 场景建议 · 团队协作
→
30
未来趋势
ESM/CJS · import maps · Deno/Bun · 依赖管理未来
→