npm和yarn是JavaScript主流包管理工具,用于安装、更新和管理依赖;npm是Node.js默认工具,通过package.json管理依赖,支持生产与开发依赖区分;yarn由Facebook推出,具备离线缓存、并行下载和yarn.lock文件保证版本一致;依赖分为dependencies(运行时必需)和devDependencies(开发工具),合理分类可优化构建体积;现代趋势中pnpm因硬链接节省空间受青睐,npm v7+也改进了性能和peer dependencies处理;无论选用何种工具,团队应统一规范并提交lock文件确保构建一致性。

JavaScript 的依赖管理主要通过包管理工具来实现,最常用的是 npm 和 yarn,它们帮助开发者自动下载、安装、更新和管理项目所依赖的第三方库。
npm:Node.js 官方包管理器
npm 是随 Node.js 一起安装的默认包管理工具,使用 package.json 文件记录项目依赖信息。
常用操作包括:
- 安装依赖:运行 npm install package-name 将包添加到 node_modules 并写入 package.json
- 保存为生产依赖:使用 npm install --save package-name(默认)
- 保存为开发依赖:使用 npm install --save-dev package-name,例如 babel、webpack 等构建工具
- 根据 package.json 安装所有依赖:执行 npm install
yarn:更快更可靠的替代方案
由 Facebook 推出,yarn 解决了 npm 早期版本在安装速度和依赖一致性上的问题。
立即学习“Java免费学习笔记(深入)”;
特点包括:
- 离线缓存机制,提升重复安装效率
- 锁定文件 yarn.lock 确保团队间依赖版本一致
- 并行下载,加快安装过程
- 命令与 npm 类似,如 yarn add package-name 或 yarn install
理解依赖类型
在 package.json 中,依赖分为两类:
千博企业网站管理系统个人版免费下载、免费使用、功能无限制,完全免费拥有(请尊重开发者版权,保留首页底部版权显示):内含Flash动画源码、Access数据库程序包、SQL数据库程序包。 千博企业网站管理系统个人版特点: 1.全站模块化操作,静态标签调用,更强扩展性… 千博企业网站系统个人版是一套基于.Net + Access(SQL)建站管理系统软件、不依赖于服务商特定空间、不需安装任何空间商组
- dependencies:项目运行必需的库,如 React、Lodash
- devDependencies:仅用于开发环境的工具,如 ESLint、TypeScript、测试框架
正确区分两者有助于减小生产环境打包体积,并明确项目结构。
现代趋势:pnpm 与核心工具升级
近年来 pnpm 因其硬链接机制节省磁盘空间而受到关注,适合大型项目或多包仓库(monorepo)。
同时,npm 自 v7 起引入自动安装 peer dependencies 支持,并优化性能,缩小与 yarn 的差距。
无论选择哪种工具,关键是保持团队统一,并提交 lock 文件以确保可重现的构建。
基本上就这些。选一个顺手的工具,理清依赖分类,项目结构会更清晰稳定。










