在 Node.js 项目中,package.json 和 yarn.lock 是两个关键文件,共同管理项目依赖。以下是详细说明:
1. package.json
作用
- 项目清单:定义项目元数据(名称、版本、描述等)
- 依赖管理:声明项目所需的依赖包(生产依赖
dependencies和开发依赖devDependencies) - 脚本命令:通过
scripts字段定义可执行命令(如start、build) - 配置入口:指定项目入口文件(
main)、模块规范(type)等
版本规则
^18.2.0:允许安装18.x.x(x ≥ 2)~18.2.0:允许安装18.2.x(x ≥ 0)18.2.0:锁定精确版本
2. yarn.lock
作用
- 版本锁定:记录每个依赖包及其子依赖的精确安装版本(避免因语义化版本导致不同环境安装不一致)
- 依赖树固化:确保团队协作或 CI/CD 环境依赖一致性
- 来源校验:存储依赖包的下载地址和完整性哈希值(防止篡改)
文件特点
- 自动生成:由 Yarn 在安装依赖时创建/更新(不要手动修改)
- 详细结构:包含依赖的嵌套关系、下载 URL 和哈希值