Nodejs的yarn是什么, 作用是什么, 怎么实现的, 优势是什么, 劣势是什么
Nodejs的yarn是什么, 作用是什么
正确定义:Nodejs的Yarn是由Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具 , 它主要是为了弥补 npm 的一些缺陷而出现的。✔
错误定义:Yarn:Yet Another Resource Negotiator。❌
Yet Another Resource Negotiator 是大数据Hadoop的一个资源调度和管理的解决方案。
Nodejs的yarn怎么实现的
yarn的源码也是开源的
1、第一个发行版本主要是用Javascript实现的
源码地址:https://github.com/yarnpkg/yarn
2、目前的主要发行版本是用Typescript实现的
源码地址:https://github.com/yarnpkg/berry
在开发蜂巢指纹浏览器(NestBrowser)的中期, 都有去git一下yarn的源码翻了一下。
Nodejs的yarn优势是什么, 劣势是什么
优势:
1、速度超快。Yarn 缓存了每个下载过的包, 所以再次使用时无需重复下载。 同时利用并行下载以最大化资源利用率, 因此安装速度更快。
2、超级安全。在执行代码之前, Yarn 会通过算法校验每个安装包的完整性。
3、超级可靠。使用详细、简洁的锁文件格式和明确的安装算法, Yarn 能够保证在不同系统上无差异的工作。
蜂巢指纹浏览器(NestBrowser)开始都尝试过只使用npm, 后面都转而使用yarn了。
劣势:
1、扁平的node_modules结构允许访问没有引用的package 2、来自不同项目的package不能共享, 这是对磁盘空间的消耗 3、安装缓慢, 大量重复安装node_modules
这些劣势, 在新生代的替代工具中已经解决了, 它就是****pnpm。****预计很快很多项目都会迁移到pnpm。