Javascript 纱线2:零安装和正常安装之间的差异?

Javascript 纱线2:零安装和正常安装之间的差异?,javascript,node.js,yarnpkg,Javascript,Node.js,Yarnpkg,关于零安装,纱线2说: 虽然“零安装”一词本身并不是一个功能,但它包含了许多围绕一个特定目标定制的纱线功能——通过从方程中去除熵的主要来源,使您的项目尽可能稳定和快速:纱线本身。[……] 我读了整个故事,但并不完全理解 Thread 2 Zero安装和Thread 2 normal安装之间有什么区别?区别在于,使用Thread normal安装时,您不需要提交节点模块(所有DEP),而使用Zero安装时,您必须考虑所有依赖项 这当然会减少您对远程存储库的依赖,但是,正如文档中所述,它需要更多的责

关于零安装,纱线2说:

虽然“零安装”一词本身并不是一个功能,但它包含了许多围绕一个特定目标定制的纱线功能——通过从方程中去除熵的主要来源,使您的项目尽可能稳定和快速:纱线本身。[……]

我读了整个故事,但并不完全理解


Thread 2 Zero安装和Thread 2 normal安装之间有什么区别?

区别在于,使用Thread normal安装时,您不需要提交节点模块(所有DEP),而使用Zero安装时,您必须考虑所有依赖项

这当然会减少您对远程存储库的依赖,但是,正如文档中所述,它需要更多的责任:

请注意,根据设计,此设置要求您信任他人 修改您的存储库。特别是,接受来自 外部用户必须小心,PRs不会影响 软件包档案是合法的(因为如果不这样的话,就可以 恶意用户在更改后发送新依赖项的PR 其存档内容)


毕竟,零安装是一个很好的特性。它解决了“我克隆/切换了分支,现在缺少依赖项”的问题,显著加快了CI的速度,降低了我们对on-prem npm注册表的依赖性。

我还想补充一点,它解决了过时依赖项的问题。如果您有一个很少更新的项目,如果其中一个旧依赖项丢失(例如,由作者、npm等删除),您很容易遇到问题。