React编程-yarn包管理器(二)
React入门概念基本概念React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设Instagram 的网站。做出来以后,发现这套东西很好用,就在2013年5月开源了。由于 React的设计思想极其独特,属于革命性创新,性能出众,代码逻辑却非常简单。所以,越来越多的人开始关注和使用,认为它可能是将来 We
·
Yarn包管理工具
配套视频地址为:http://www.woniuxy.com/course/154
现在我们已经在本地安装了npm包管理器,当然你还可以在本地安装yarn包管理器工具,在很多官方文档里面都使用了yarn这个命令,接下来我们就来讲一下这两个包管理器的区别。
“Yarn是由Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具 ,正如官方文档中写的,Yarn 是为了弥补 npm 的一些缺陷而出现的
npm的缺陷:
- npm下载镜像的时候非常的慢,国内可以安装淘宝镜像,但是有时候也很慢。
- 同一个项目,安装的时候无法保持一致性。在package.json文件中版本号的特点有时候是不固定的,比如我们经常看到的
"~5.0.3"
表示安装5.0.X中最新的版本,那我们在不同的时间运行这个项目可能就会出现依赖包版本不一致导致项目报错。 - 下载报错问题,安装的时候,包会在同一时间下载和安装,中途某个时候,一个包抛出了一个错误,但是npm会继续下载和安装包,那项目运气的过程中就会出现各种异常,导致我们不好定位。
yarn包管理器的特点:
- 快速性,Yarn 缓存了每个下载过的包,所以再次使用时无需重复下载。 同时利用并行下载以最大化资源利用率,因此安装速度更快
- 安全性,在执行代码之前,Yarn 会通过算法校验每个安装包的完整性。
- 可靠性,使用详细、简洁的锁文件格式和明确的安装算法,Yarn 能够保证在不同系统上无差异的工作。
- 像npm一样,yarn使用本地缓存。与npm不同的是,yarn无需互联网连接就能安装本地缓存的依赖项,它提供了离线模式。这个功能在2012年的npm项目中就被提出来过,但一直没有实现.
- 并行安装:无论 npm 还是 Yarn 在执行包的安装时,都会执行一系列任务。npm 是按照队列执行每个 package,也就是说必须要等到当前 package 安装完成之后,才能继续后面的安装。而 Yarn 是同步执行所有任务,提高了性能。
- 安装版本统一:为了防止拉取到不同的版本,Yarn 有一个锁定文件 (lock file) 记录了被确切安装上的模块的版本号。每次只要新增了一个模块,Yarn 就会创建(或更新)yarn.lock 这个文件
- 更简洁的输出:npm 的输出信息比较冗长。在执行 npm install 的时候,命令行里会不断地打印出所有被安装上的依赖。相比之下,Yarn 简洁太多
- 更简洁的输出:npm 的输出信息比较冗长。在执行 npm install 的时候,命令行里会不断地打印出所有被安装上的依赖。相比之下,Yarn 简洁太多
关于npm和yarn命令的区别,接下来我们用一个表格来对比:
npm命令 | yarn命令 |
---|---|
npm install | yarn add |
npm install [package] --save | yarn add [package] |
npm install [package] --save-dev | yarn add [package] --dev |
npm install [package]@1.1.1 --save | yarn add [package]@1.1.1 |
npm uninstall [package] --save(-dev) | yarn remove [package] |
npm update --save | yarn upgrade |
npm init | yarn init |
联系作者:QQ:550250108
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献2条内容
所有评论(0)