Yarn是什么?
“Yarn是由Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具 ,正如官方文档中写的,Yarn 是为了弥补 npm 的一些缺陷而出现的 。
安装版本统一:为了防止拉取到不同的版本,Yarn 有一个锁定文件 (lock file) 记录了被确切安装上的模块的版本号。每次只要新增了一个模块,Yarn 就会创建(或更新)yarn.lock 这个文件
1、并行安装
2、离线模式(已经安装过一个软件包,用Yarn再次安装时之间从缓存中获取)
3、更简洁的输出
4、进度模式
NPM5
npm提供了shrinkwrap命令。此命令将生成一个npm-shrinkwrap.json,版本统一
npm shrinkwrap
npm shrinkwrap--dev//将dev-dependencies计算在内
shrinkwrap会在根目录生成npm-shrinkwrap.json
文件。之后的npm install会参照这个文件的版本来安装。
Yarn和npm命令对比
npm | yarn |
---|---|
npm install | yarn |
npm install react --save | yarn add react |
npm uninstall react --save | yarn remove react |
npm install react --save-dev | yarn add react --dev |
npm update --save | yarn upgrade |
运行脚本
yarn run 用来执行在 package.json 中 scripts 属性下定义的脚本
// package.json
{
"scripts": {
"dev": "node app.js",
"start": "node app.js"
}
}yarn run dev # yarn 执行 dev 对应的脚本 node app.js
npm run # npm
yarn start # yarn
npm start # npm
yarn config list # 显示当前配置
npm config list
yarn config set registry https://registry.npm.taobao.org # 设置淘宝镜像
npm config set registry https://registry.npm.taobao.org # npm