首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >yarn和npm的区别、–save和–save-dev的区别

yarn和npm的区别、–save和–save-dev的区别

作者头像
青梅煮码
发布2023-03-02 19:24:51
发布2023-03-02 19:24:51
1.7K00
代码可运行
举报
文章被收录于专栏:青梅煮码青梅煮码
运行总次数:0
代码可运行

一、安装yarn

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

代码语言:javascript
代码运行次数:0
运行
复制
npm install -g yarn 

(2)查看版本

代码语言:javascript
代码运行次数:0
运行
复制
yarn --version

(3)yarn淘宝源安装

代码语言:javascript
代码运行次数:0
运行
复制
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 --save

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.json npm5版本之后开始,--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 -D // npm i webpack --save-dev

=

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

dependencies:项目依赖,项目实际运行需要的依赖,上线还是需要的,如(vue,jquerydevDependencies:开发依赖,只在开发时需要的依赖,实际上线不需要的,如(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写表格

代码语言:javascript
代码运行次数:0
运行
复制
dog | bird | cat|
----|:----:|----:
foo | foo  | foo
bar | bar  | bar
baz | baz  | baz

dog

bird

cat

foo

foo

foo

bar

bar

bar

baz

baz

baz

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-08-09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、安装yarn
  • 二、yarn和npm命令对比
  • 三、npm 中 –save和–save-dev区别
    • –save 简写 -S 会被记录到dependencies【生产环境】
    • –save-dev 简写 -D 会被记录到devDependencies【开发环境】
  • 四、yarn对比npm的优点 :
    • 1、离线模式
    • 2、依赖关系确定性
    • 3、网络性能优化
    • 4、网络回弹
    • 5、多注册来源
    • 6、扁平模式
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档