怎样进行JavaScript依赖管理_NPM和Yarn的基本使用是

JavaScript依赖管理依靠NPM和Yarn包管理器,通过package.json记录依赖,区分生产与开发依赖,借助package-lock.json或yarn.lock锁定版本以确保一致性。

JavaScript 依赖管理主要靠包管理器,NPM 和 Yarn 是最常用的两个。它们帮你自动下载、安装、更新和组织项目所需的第三方代码库(比如 lodashaxios),还能统一管理版本、避免冲突。

初始化项目并生成 package.json

每个 JavaScript 项目都需要一个 package.json 文件来记录依赖、脚本、作者等信息。首次使用时,运行:

  • NPM:npm init(一路回车或加 -y 跳过提问)
  • Yarn:yarn init(同样支持 -y

这会生成基础的 package.json,后续所有依赖都会自动写入其中。

安装依赖:区分 dev 和 production

不是所有依赖都一样用。开发时需要的工具(如 webpackeslint)和运行时真正需要的库(如 reactmoment)要分开管理,避免上线时打包进多余东西。

  • 安装为生产依赖(项目运行必需):
    npm install lodashyarn add lodash
  • 安装为开发依赖(仅本地开发/构建时用):
    npm install eslint --save-devyarn add eslint -D

执行后,依赖会下载到 node_modules 文件夹,并在 package.jsondependenciesdevDependencies 中记录版本号。

锁定依赖版本:防止意外升级

只靠 package.json 不够——它通常只写大版本(如 "lodash": "^4.17.21"),下次安装可能拉取不兼容的新版。所以需要锁定精确版本:

  • NPM 自动生成 package-lock.json,每次 npm install 都按它还原依赖树
  • Yarn 使用 yarn.lock,更早支持确定性安装,对 monorepo 和 workspace 更友好

这两个文件都要提交到 Git,否则团队成员或 CI 环境装出来的依赖可能不一致。

常用操作对比(NPM vs Yarn)

功能相同,命令略有差异,选一个坚持用即可:

  • 安装全部依赖:npm install / yarn install
  • 卸载依赖:npm uninstall axios / yarn remove axios
  • 更新依赖:npm update(按 semver 升级) / yarn upgrade
  • 查看依赖树:npm ls / yarn list
  • 运行脚本(定义在 scripts 字段中):npm run build / yarn build

Yarn 默认更快(并行下载、本地缓存),NPM 自 7+ 版本也大幅优化,两者现在体验差距不大。