为什么要检查凉亭组件?

Mar*_*sen 27 bower

鲍尔博士说

注意如果您没有创作供其他人使用的软件包(例如,您正在构建Web应用程序),则应始终将已安装的软件包检查到源代码管理中.

有谁有一个很好的答案为什么?

如果我正在创建一个Web应用程序,我不希望我的repo与库X的版本更新混乱.

我只是想更新bower.json依赖项.我认为大多数项目都会有一个构建步骤或类似项目,例如grunt.构建步骤将确保在构建之前调用bower安装/更新,以便这些文件存在以进行连接/缩小等.或者甚至是纯文本复制到某个dist文件夹.

我错过了什么吗?

Sin*_*hus 28

这是为了锁定您的依赖项,以防止错误的依赖项破坏您的应用程序或远程阻止部署.即使您有构建步骤,也可能发生这种情况,因为您可能没有对每个构建进行全面测试,并且自动化测试无法捕获所有内容,尤其是视觉回归.此外,多个开发人员可能具有不同版本的依赖项.通过提交依赖项,您可以确保每个人都使用相同的版本.我也发现查看差异是确保依赖树中没有引入任何恶意的好方法.

在Node world中npm shrinkwrap部分地解决了这个问题,但还没有进行校验和匹配.鲍尔目前有一张开放票据来实现同样的目的.

您可以在此博客文章中查看更多相关信息:检查前端依赖项

  • 是的,锁定版本,甚至深度,还不够,因为可以覆盖标签和版本.这就是为什么`npm shrinkwrap`需要deps的校验和匹配,这就是我们从一开始就想要的Bower shrinkwrap. (3认同)