一、安装yarn

(1)下载node.js,使用npm安装

npm install -g yarn

(2)查看版本

yarn --version

(3)yarn淘宝源安装

yarn config set registry https://registry.npm.taobao.org -g 
yarn config set sass_binary_site http://cdn.npm.taobao.org/dist/node-sass -g

二、yarn和npm命令对比

npm

yarn

注释

npm init

yarn init

初始化项目

npm install

yarn

安装全部依赖

npm install react

yarn add react

安装某个依赖,保存到 dependencies

npm uninstall react --save

yarn remove react

移除某个依赖

npm install react --save-dev

yarn add react --dev

安装某依赖,保存到 devDependencies

npm update [package] --save

yarn upgrade [package]

更新生产环境某个依赖包

npm install axios --global

yarn global add axios

全局安装某个依赖

npm install --save axios vue-axios

yarn add axios vue-axios

同时下载多个依赖包

npm install [package]@[version]

yarn add [package]@[version]

安装指定版本的包

npm rebuild

yarn install --force

重新下载所有包




yarnnpm可以通过镜像源工具nrm互相切换

三、npm 中 –save和–save-dev区别

npm5版本之前,必须要加上--save,才会将包记录到package.jsonnpm5版本之后开始,--save是默认值了,可以省略不写

–save 简写 -S 会被记录到dependencies【生产环境】

npm

等同

yarn

npm i jquery // npm i jquery --save

=

yarn add jquery

npm i jquery -S

=

yarn add jquery -S // yarn 只有简写

–save-dev 简写 -D 会被记录到devDependencies【开发环境】

npm

等同

yarn

npm i Webpack // npm i webpack --save-dev

=

yarn add webpack -D // yarn 只有简写

dependencies:项目依赖,项目实际运行需要的依赖,上线还是需要的,如(vue,jquery)devDependencies:开发依赖,只在开发时需要的依赖,实际上线不需要的,如(webpack)

四、yarn对比npm的优点 :

1、离线模式

yarn会有一个缓存目录,会缓存以前安装过的软件包,再次安装时就不必从网络下载了,大大加速安装速度。

2、依赖关系确定性

在每一台机器上针对同一个工程安装依赖时,生成的依赖关系顺序和版本是一致的。

3、网络性能优化

下载软件时会优化请求顺序,避免请求瀑布发生

4、网络回弹

yarn在某个安装包请求失败时不会导致安装失败,它会自动去尝试重新安装。而npm则会毫不犹豫的失败,导致得再来一次,耗费时间

5、多注册来源

所有的依赖包,不管他被不同的库间接关联引用多少次,安装这个包时,只会从一个注册来源去装,要么是 npm 要么是 bower, 防止出现混乱不一致。

6、扁平模式

对于多个包依赖同一个子包的情况,yarn会尽量提取为同一个包,防止出现多处副本,浪费空间。比如1.2中,yarn会为babel-generator和babel-helper-define-map 创建同一个lodash子依赖,这样就节约一份的空间。

tips:使用Markdown写表格

dog | bird | cat|
----|:----:|----:
foo | foo  | foo
bar | bar  | bar
baz | baz  | baz

dog

bird

cat

foo

foo

foo

bar

bar

bar

baz

baz

baz