相比npm 的优点

1.npm安装是串行,而yarn是并行,速度大大提升

2.已经下载过的包会被缓存,无需重复下载,更关键的是,支持离线安装

3.精准的版本控制,加上验证每个包的完整性,保证每次安装的npm包完全一致

npm版本控制缺陷带来的严重问题(https://blog.csdn.net/qiansg123/article/details/80129453)

4.优化的输出信息

npm5改进:

1.引入了package-lock.json,默认会被添加到项目,增强了版本控制

2.提升了安装速度,还是稍慢于yarn,引入了离线缓存

3.优化输出信息

Yarn工作流、对应命令上npm的差别:

1.创建一个新项目

初始化

npm init   yarn init

2.添加/更新/删除依赖项

添加(使用package@version指定版本号 global指定全局安装)

加入生产依赖 npm i [package] -S (-g)  yarn (global) add [package]@[version] 

加入开发依赖(打包时忽略) npm i [package] -D   yarn add [package]@[version]   --dev

更新 

查询过期版本

npm outdated [package]    yarn outdated [package]

npm outdated              yarn outdated

更新版本

yarn upgrade [package]@[version] 

卸载

npm uninstall [package]  yarn remove [package]

重新安装所有依赖

rm -rf node_modules&&npm install  yarn upgrade

3.安装/重新安装依赖项

初始化安装

npm install  yarn install

4.运行脚本

yarn run [script] [<args>]

5.使用版本管理工具

6.持续集成

总结:

在yarn这位搅局者的出现,npm终于给了一次力,npm5和yarn区别已经不大,况且,yarn更新慢,对npm参数支持有限,目前推荐用yarn来管理版本,npm来跑命令

yarn和npm的对比,以及项目中使用方式的更多相关文章

  1. [yarn]yarn和npm的对比

    一.简介 NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从NPM服 ...

  2. yarn和npm的对比以及yarn的使用

    0--前言 为什么要使用yarn,如果你从事前端开发有些年头了,那你肯定对npm又爱又恨,爱就不说了,恨嘛,就是NPM经常奇慢和卡顿,这还能忍,经常各种错误就没法忍了,尤其是他人创建的项目,自己在安装 ...

  3. 像 npm 一样在 Andriod 项目中引入 Gradle 依赖

    一.前言 作为 Android 开发人员,有没有羡慕过 node.js 的导入三方库的方式,node.js 社区为开发者准备了一个快速可靠的依赖管理库.这样的依赖管理库,让 node.js 导入依赖库 ...

  4. yarn和npm命令对比

  5. 华为软件开发云对比Jenkins-JavaWeb项目持续部署方式

    一.前言:Jenkins介绍 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成和持续部署变成可能. 本文 ...

  6. 项目中如何使用babel6详解

    由于浏览器的版本和兼容性问题,很多es6,es7的新的方法都不能使用,等到可以使用的时候,可能已经过去了很多年.Babel可以把es6,es7的新代码编译成兼容绝大多数的主流浏览器的代码. 本篇文章主 ...

  7. node的包管理工具:yarn和npm

    arn是Facebook发布的一款依赖管理工具,它比npm更快.更高效. NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题. 一.yarn官方网站: 英文官网:ht ...

  8. 发布自己的npm包、开源项目

    背景:由于最近在做项目之余想做一些其他的事,所以东找找西找找的,最后决定写一个封装一些常用原型方法的NPM包,但不仅限于此.话不多说,说一下实践过程. 一.注册NPM及如何上传NPM包参考连接:htt ...

  9. yarn和npm

    Yarn和npm命令对比 npm install === yarn npm install taco --save === yarn add taco npm uninstall taco --sav ...

随机推荐

  1. C# 多维数组 交错数组的区别,即 [ , ] 与 [ ][ ]的区别 (转载)

    多维数组的声明 在声明时,必须指定数组的长度,格式为 type [lenght ,lenght ,lengh, ... ] , ]; 或声明时即赋值,由系统推断长度 int [,] test1 = { ...

  2. Git 管理版本/回退

    参考链接:https://www.liaoxuefeng.com/wiki/896043488029600/896954074659008 Git status命令可以让我们时刻掌握仓库当前的状态,比 ...

  3. python3 marshmallow学习

    python3 marshmallow学习 官方文档:https://marshmallow.readthedocs.io/en/stable/ 安装: pip install -U marshmal ...

  4. 2019 百合佳缘java面试笔试题 (含面试题解析)

      本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.百合佳缘等公司offer,岗位是Java后端开发,因为发展原因最终选择去了百合佳缘,入职一年时间了,也成为了面 ...

  5. .Net Core 遇到 “'windows-1252' is not a supported encoding name.”

    最近用 iTextSharp 拆分 Pdf 文档 加水印的时候遇到错误: 'windows-1252' is not a supported encoding name. For informatio ...

  6. vue组件4 利用slot将内容传递给组件

    除了将数据作为prop传入到组件中,vue也允许传入HTML 父组件中的子组件:<custom-button>点我<custom-button/> custom-button子 ...

  7. HTML5 表单新增内容

    一.H5 新增控件 1.datalist 元素 datalist 标签定义选项列表,请与 input 元素配合使用该元素.可为输入框提供一个可选的列表,可以直接选择列表项,也可以不选择列表中的项,自行 ...

  8. echarts曲线 将不连续的点连接起来、由null间断的点连接起来

    series:[ { name: '测试',  type: 'line',  data: [1,null,2,null,null,3,null,null,null,4],  connectNulls: ...

  9. Redis中的LFU算法

    在Redis中的LRU算法文中说到,LRU有一个缺陷,在如下情况下: ~~~~~A~~~~~A~~~~~A~~~~A~~~~~A~~~~~A~~| ~~B~~B~~B~~B~~B~~B~~B~~B~~ ...

  10. sourceinsight sublimetext主题色配置

    1.sourceinsight发布了4.0版本,全面支持了utf-8编码,这里sourinsight 颜色基本完全按照sublime默认的monokia主题来进行调色,效果如下图所示. 2.配色文件和 ...