在npm v5.0中还没有纱线的function?
npm v5.0带来了很多目前在纱线上的function,包括:
- 安装 – 默认保存
-
package-lock.json
会自动创build(我假设locking文件确保一致的安装) - 自动回退到离线模式
从我的理解,什么纱提供另外是并行下载(因此更快的下载时间)。 我没有看到在npm博客文章中提到的 。 除此之外,还有使用纱线的其他好处吗?
纱线仍然是写作,比npm稍快。 托马斯·沙夫(Thomas Schaaf)根据performance进行了比较 ,可以直接在这里查看 。 目前,纱线在每次测量时都会下降,尽pipe不会有太大的变化。 这可能来自并行下载和高级caching,尽pipe这纯粹是猜测,我还没有在源头上挖掘,以找出时间不同的原因。
然而,你失去了性能,你会获得兼容性。 有几个软件包不能和Yarn一起正确安装,比如semantic-ui
,所以你需要使用npm。
由于npm是Node环境的规范包pipe理器,因此大多数包都将经过testing,可用于npm。 纱线也不能说是一个相对的局外人。
总的来说,我认为npm @ 5比其前辈要好得多,除非Yarn带来了新的function,特别是如果与所有软件包的兼容性对您都很重要的话,我认为这样做是合理的。
这是个好问题!
实际上npm
被推动有所有这些functionyarn
提供。 现在他们几乎是一样的:
- caching是完全重写,它甚至离线工作
-
--save
默认启用 -
package-lock.json
locking你的版本,它不像npm shrinkwrap
package-lock.json
是可选的
npm@5
速度也取得了很好的进展,但是yarn
速度还是比较快的。 这里是简单的数字。 让我们用vue-starter
进行testing,它有大约850个包可供下载。 npm
的时间并不是很差,新鲜出炉的时间是42秒。 caching准备就绪后,只需要30秒即可完成安装。
与yarn
相比:35秒没有caching,20秒caching到位。 对我来说,这个时间差距足够重要,仍然使用yarn
作为主要工具。
其实,我写了一篇涵盖所有这些主题的文章: https : //medium.com/wemake-services/is-yarn-still-a-thing-3c6886410c83