摘要
简单来说,yarn 是一个与 npm 功能相同的工具,用于前端项目的依赖管理。在使用 npm 的项目中,使用 npm 命令的地方都可以使用 yran 来代替。为什么要使用 yarn 替代 npm 呢?请阅读本文详情寻找相关答案。
什么是 yarn?
简单来说,yarn 是一个与 npm 功能相同的工具,用于前端项目的依赖管理。在使用 npm 的项目中,使用 npm 命令的地方都可以使用 yran 来代替。
为什么要使用 yarn 替代 npm 呢?yarn 相对 npm 来说,主要的特点有:
- 离线、并行安装:依赖并行安装,缓存已下载过的依赖并优先使用,各种优化使得安装依赖速度显著提升
- 确定性:默认生成 yarn.lock 文件,可以保证各开发人员开发安装依赖的目录具有一致性
- more…
好吧,其实 npm 也在不断的优化改进中。但 yarn 确实有很多亮点,至少当前是非常值得你去使用的。
yarn 使用快速上手
安装
虽然安装 yarn 可以不依赖 npm,但这里还是建议你使用 npm 来安装吧,快速而简洁:
npm i -g yarn
在项目中使用
首次初始化项目时执行,在每次项目启动/构建之前,也都应执行一次,以保证本地依赖得到及时更新。
该命令会检查 package.json 和 yarn.lock 文件中的依赖,当有其内容更新,会进行依赖更新安装。
yarn <install>
依赖更新。当你希望更新依赖模块到其最新版本时执行该命令。
yarn upgrade
yarn 常用命令
开始新项目
yarn init
添加依赖包
yarn add [package]
yarn add [package]@[version]
yarn add [package]@[tag]
升级依赖包
yarn upgrade [package]
yarn upgrade [package]@[version]
yarn upgrade [package]@[tag]
移除依赖包
yarn remove [package]
安装项目的全部依赖
yarn
或者
yarn install
yarn 使用实践建议
我们选择 yarn 的主要原因是依赖安装速度快,默认生成的 yarn.lock
会保证所有成员的模块依赖目录能够很好的保持一致。
yarn install
和 yarn upgrade
的执行逻辑,可以让你可以很清晰的管理本地依赖的版本更新时机,又能很好的让所有开发人员的本地依赖保持一致性。
使用 npm install
则有些乱,当你不想写死版本号依赖时,它总会安装依赖包最新可用的版本,但这在有时候并不是你想要的。
在 yarn 之前,我们使用的是 npm+淘宝仓库
方案,也会使用 cnpm。在国内,cnpm 的依赖安装速度比 yarn 还要快,但 cnpm 在 windows 下通过创建链接引用的方式管理包依赖,可能会带来一些问题。
现在我们会默认使用淘宝仓库,使用 npm 管理全局依赖,使用 yarn 管理具体项目内的依赖。
在一个新的项目中使用 yarn,我们会这么来做:
- 写好
package.json
,写入初始的第三方依赖 - 执行
yarn
命令,初始化安装项目依赖,生成yarn.lock
文件 - 后续通过执行
yarn add xxx
添加更多需要的依赖(也可直接在 package.json 文件中写入) - 当确定需要更新依赖模块到其最新版本时,执行
yarn upgrade
命令 - 配置项目启动命令执行前,先执行
yarn
命令,以保证当yarn.lock
被更新时,本地依赖也及时得到更新。例如,在package.json
的script
部分中配置start
命令:"start": "yarn && yarn run build:dev"
你是如何来使用 yarn 的呢?欢迎分享你的经验。
相关参考
- npm https://docs.npmjs.com
- yarn https://yarnpkg.com
test