相比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. 轨迹条(Trackbar)

    1.创建 createTrackbar(轨迹条名称,窗口名称,滑动条的初始位置,滑动条的最大值,回调函数XXX,不懂) 其中回调函数为 void XXX(滑动条的位置,用户数据)在c++中函数名为指向 ...

  2. String类的方法应用

    String类的几个方法的应用示例: using System;using System.Collections.Generic;using System.Linq;using System.Text ...

  3. C# 获取系统SysWOW64的方法

    string path = Environment.GetFolderPath(Environment.SpecialFolder.SystemX86); 64位系统获取的SysWOW64 ,32位获 ...

  4. "startIWDP": true

    { "platformName": "iOS", "platformVersion": "11.0", "au ...

  5. Beego 学习比较8:SQL语句

    SQL语句 1>     常用的SQL语句 1->新增  insert into 表名(字段A,字段B,…) Values(字段A值,字段B值,…) 2->更新  update 表名 ...

  6. VB参考

    Open 语句: 能够对文件输入/输出 (I/O). Open pathname For mode [Access access] [lock] As [#]filenumber [Len=recle ...

  7. Spring Cloud Sleuth 整合

    引入Maven依赖 org.springframework.cloud spring-cloud-starter-sleuth 日志发生的变化 当应用ClassPath下存在org.springfre ...

  8. python的异常种类

    AttributeError 访问一个对象没有的属性 比如:foo.x 但是foo没有x属性 IOError 输入/输出异常 基本是无法打开文件 ImportError 无法映入模块或包 路径或者名称 ...

  9. Nginx核心模块内置变量

    本文根据Nginx官网整理了Nginx的ngx_http_core_module模块的内置变量,可与Apache做对比参考.随后做了一次测试观察各变量的值,并附上测试结果. 1.变量列表 $arg_n ...

  10. centos 7 新机器安装部署配置

    首先卸载openjdk,安装jdk 1.查看java版本 [lambert@localhost ~]$ java -version openjdk version "1.8.0_102&qu ...