日常开发中肯定对npm不陌生,它是node自带的包管理器。通过npm,可以安装项目需要的依赖,但是时间一长,你会发现npm的速度太慢了。今天给大家推荐一个同样是包管理工具,但是比npm好用的工具----yarnyarn是什么?Yarn是由Facebook、Google、Exponent和Tilde开发的一种新的JavaScript包管理工具。从官方文档可以了解到,它的目的是为了解决这些团队在使用npm时面临的几个问题,即:1.安装时速度/一致性无法保证2.安全问题,因为npm安装允许运行代码Yarn也一个新的CLI客户端,它从npm注册表中获取模块。您注册的方式不会有任何变化——您仍然可以正常获取和发布包。yarn的特点和优势Ultra-fastYarn会缓存每个下载的包,再次使用时无需重新下载。还利用并行下载来最大限度地利用资源,因此安装速度更快。超级安全在执行代码之前,Yarn会通过算法验证每个安装包的完整性。超级可靠使用详细、简洁的锁定文件格式和显式安装算法,保证Yarn在不同系统上无差异地工作。离线模式如果您之前已经安装过一个包,您可以在没有任何互联网连接的情况下再次安装它。确定性无论安装顺序如何,相同的依赖项将以相同的方式安装在每台机器上。NetworkPerformanceYarn有效地对请求进行排队以避免级联请求,从而最大限度地利用网络资源。相同的包从npm安装包并维护相同的包管理过程。网络弹性重试机制确保单个请求的失败不会导致整个安装失败。平面模式将不同版本的依赖包归结为一个版本,以避免创建多个副本。初始化一个新项目使用yarninitadddependencypackageyarnadd[package]yarnadd[package]@[version]yarnadd[package]@[tag]将依赖添加到不同的依赖类中分别添加到devDependencies,peerDependencies和optionalDependencies类中:yarnadd[package]--devyarnadd[package]--peeryarnadd[package]--optional升级依赖包yarnupgrade[package]yarnupgrade[package]@[version]yarnupgrade[package]@[tag]去掉依赖packageyarnremove[package]yarnyarn和npm安装工程的所有依赖都不同,语法不同--saveyarnaddxxx@x.x.x--devnpminstallxxx@x.x.x--save-devyarnremovexxxnpmuninstallxxx--save(-dev)yarn运行xxxnpm运行xxx
