yarn的使用及与npm的对比
大家在平时的开发中,一定对npm
不陌生,它是node自带的包管理器。通过npm
可以安装项目对应需要的依赖,但
是时间久了就会发现npm的速度实在是太慢了,今天给大家推荐一个同样为包管理工具,但比npm好用的----yarn
什么是yarn?
Yarn 是 Facebook, Google, Exponent 和 Tilde 开发的一款新的 JavaScript 包管理工具。就像我们可以从官方文档了解那样,它的目的是解决这些团队使用 npm 面临的少数问题,即:
1.安装的时候无法保证速度/一致性 2.安全问题,因为 npm 安装时允许运行代码
Yarn 同样是一个从 npm 注册源获取模块的新的 CLI 客户端。注册的方式不会有任何变化 —— 你同样可以正常获取与发布包。
yarn的特点及优势
速度超快
Yarn 缓存了每个下载过的包,所以再次使用时无需重复下载。 同时利用并行下载以最大化资源利用率,因此安装速度更快。
超级安全
在执行代码之前,Yarn 会通过算法校验每个安装包的完整性。
超级可靠
使用详细、简洁的锁文件格式和明确的安装算法,Yarn 能够保证在不同系统上无差异的工作。
离线模式
如果你以前安装过某个包,再次安装时可以在没有任何互联网连接的情况下进行。
确定性
不管安装顺序如何,相同的依赖关系将在每台机器上以相同的方式安装。
网络性能
Yarn 有效地对请求进行排队处理,避免发起的请求如瀑布般倾泻,以便最大限度地利用网络资源。
相同的软件包
从 npm 安装软件包并保持相同的包管理流程。
网络弹性
重试机制确保单个请求失败并不会导致整个安装失败。
扁平模式
将依赖包的不同版本归结为单个版本,以避免创建多个副本。
使用方法
初始化一个新项目
yarn init
添加依赖包
yarn add [package] yarn add [package]@[version] yarn add [package]@[tag]
将依赖项添加到不同依赖项类别中
分别添加到 devDependencies、peerDependencies 和 optionalDependencies 类别中:
yarn add [package] --dev yarn add [package] --peer yarn add [package] --optional
升级依赖包
yarn upgrade [package] yarn upgrade [package]@[version] yarn upgrade [package]@[tag]
移除依赖包
yarn remove [package]
安装项目的全部依赖
yarn
yarn与npm的不同
语法的不同
yarn | npm |
---|---|
yarn init | npm init |
yarn | npm install |
yarn global add [email protected] | npm install [email protected] -g |
yarn add [email protected] | npm install [email protected] --save |
yarn add [email protected] --dev | npm install [email protected] --save-dev |
yarn remove xxx | npm uninstall xxx --save(-dev) |
yarn run xxx | npm run xxx |