毛线即插即用

npm是Node.js的默认软件包管理器。 长期以来,Facebook一直在开发一种名为Yarn的替代软件包管理解决方案。 作为标准解决方案,Yarn似乎已从Github自述文件中逐渐消失,官方网站上的统计数据表明,只有一部分软件包是由Yarn执行的。 尽管如此,还是值得思考。


Yarn与现有的package.json文件完全兼容-因此您可以对现有项目使用这两种解决方案,而不会出现任何问题。 两种解决方案的命令仅略有不同。 这是最重要的命令的比较:

描述npm
初始化 npm初始化纱线初始化
更新资料npm install -g npm纱线自我更新
安装套件npm安装
--save [名称]
纱线添加[名称]
安装套件npm安装
--save-dev [名称]
纱线添加
--dev [名称]
全局安装软件包npm install -g [名称]yarn global add [名称]
安装所有软件包npm安装纱线安装
更新所有软件包npm更新纱线升级
卸载程序包npm删除[名称]纱线清除[名称]

Yarn从解决npm的一些弱点开始。 最明显的区别是更高的性能:通过增量安装,多线程和最新的杀手级功能即插即用(PNP) ,性能急剧提高。 Plug'n'Play放弃了基于项目的node_modules文件夹的想法,该文件夹通常可以增长到天文数字的高度。 您可以在Plug'n'Play的官方白皮书中找到有关此内容的更多信息。 我们在npm上安装一次eslint ,然后在每种情况下先将带有预热缓存的纱线安装起来,以使速度差异(6x!):

npm 6.5.0
纱1.12.3
背部