依赖与版本号管理
版本号遵循语义化版本(SemVer):主版本.次版本.修订号。装依赖时前面的符号决定升级范围:^1.2.3 允许 1.x.x(次版本升级,向后兼容),~1.2.3 只允许 1.2.x(修订号升级),无符号表示锁定。
只写范围会导致“我电脑上好的”问题:不同时间安装的依赖版本不同。lockfile(package-lock.json / yarn.lock / pnpm-lock.yaml)记录每个依赖的确切版本与来源,提交到 Git 后保证所有人装出一模一样的 node_modules。
- ^1.2.3:可升级到 1.x.x(最常用);~1.2.3:只升修订号;1.2.3:锁死
- lockfile 必须提交到仓库:它是“大家装同样版本”的保证
- peerDependencies:插件声明宿主版本(如 vue 插件要求 vue@3),由项目主体安装
// 查看实际安装的版本树(排查“版本不对”的第一命令) // 命令行: npm ls vue // 输出示例: // └─ vue@3.4.21 ← 实际安装版本,可能与 package.json 的 ^3.4.0 不同 // 手动锁定某个版本(修复“昨天还好好的”问题) // 命令行: npm install vue@3.4.21 --save-exact // 审计已知漏洞依赖 // 命令行: npm audit // 清理重装(治 node_modules 各种玄学问题) // 命令行: rm -rf node_modules package-lock.json && npm install




