一.Yarn

1. 什么是yarn

yarn是快速、可靠、安全的包依赖管理工具。是与npm功能一致的工具。只是npm是安装node时自带的,而yarn是需要额外安装的。

2.为什么会有yarn

yarn的出世是因为npm有不少毛病,而facebook公司的程序员们鉴于这些毛病开发了yarn来取代npm。

3.npm有哪些问题

  1. 目录嵌套层级过深,在上古版本(应该是 npm3 以前的版本,具体我也记不清了),npm 的安装策略并不是扁平化的,也就是说比如你安装一个 express,那么你会在 node_modules 下面只找到一个 express 的文件夹。而 express 依赖的项目都放在其文件夹下。

    但对于 windows 来说,最大的路径长度限制在 248 个字符,所以会报错(我没有经历过这个时代….)

  2. 所有的模块都是独立的,模块实例无法共享。A模块依赖了jQuery,B模块也依赖jQuery。这样node_modules中就有二个jQuery,而不是一个,导致使用多个相同的库,内层消耗大

  3. 因为目录嵌套的原因,安装逻辑的原因(单线程,安装完一个在去安装下一个),网络的问题,安装速度慢
  4. npm做了哪些改变

    4. Yarn有哪些好处

    相对npm5以前
  • 引入 yarn.lock 文件来管理依赖版本问题,保证每次安装都是一致的。
  • 缓存加并行下载保证了安装速度
  • 重复安装安装包和安装包的依赖包的版本不会变化
  • 默认情况安装会保存到 dependencies,不需要像 npm 一样手动添加 -S 参数
  • 交互式的版本依赖更新
  • 可以使用yarn run bin中的脚本,不需要加目录一级一级寻找

    5.Yarn命令与npm命令对比

    | | npm | yarn | | —- | :—-: | :—-: | | 初始化项目 | npm init | | | | | | | | | |