bower_components应该被gitignored?

Pie*_*NAY 157 git gitignore bower

bower.json文件和gitignore 只保留整个bower_components目录是不错的做法?

Tim*_*lla 148

负责人鲍尔页指出:

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

请务必查看引文中的链接,讨论一些赞成和缺点.它提到的主要原因是只要您的存储库可用,检查它们就可以确保您的依赖项始终可用.无论Bower发生什么,GitHub或其他任何需要的东西.

  • 2014年,在官方Bower页面上检查已安装的软件包到源代码管理的建议已被删除:https://github.com/bower/bower.github.io/commit/07d98161cd459be38a5fa7ff73fdc6ff1028d5ad (7认同)
  • 他们还在他们的博客文章中说到这一点:"最终,选择是否签入所有/ bower_components目录取决于你......". (3认同)
  • 检查它们的原因是有一天,图书馆可能会从互联网上消失,或者它们可能会有一些停机时间,这反过来可能导致构建失败.作为Maven/Gradle用户,我从不考虑检查依赖项. (3认同)

use*_*234 52

新生成的Yeoman AngularJS项目中的.gitignore文件列出了bower_components(和node_modules)被忽略(如果你不知道Yeoman它是一个非常有信誉的现代webapps的web脚手架工具,那对我来说已经足够了!):

的.gitignore

node_modules
dist
.tmp
.sass-cache
bower_components
Run Code Online (Sandbox Code Playgroud)


Jos*_*vid 9

这两种方法都有时间和地点.对于Yeoman来说,依靠bower.json是合适的,因为它是工具链中的工具,需要通过凉亭生态系统保持生活和呼吸.对于可部署的Web应用程序,提交依赖项并保持更多控制通常是一种很好的做法.

这是一篇我喜欢的好文章,讨论了这一点.


Yve*_*ves 6

如果您正在使用Grunt和Node with Bower,将bower_components放入.gitignore 是有意义的,因为当您运行grunt servegrunt build时,它会为您处理依赖关系,我确信这就是为什么在Yeoman中他们将它添加到.gitignore


小智 5

约曼发电机预填充的.gitignore与bower_components文件,但它也预填充其他目录我认为将需要一个最终的应用程序(如www),所以我做了一些研究.

我发现www/index.html是app/index.html的缩小版本.app目录及其内容(包括bower_components)包含输出目录(www)所需的源文件.您将源目录提交到源控件(即git)但不生成文件(即www).像bower和npm这样的包管理器应该在构建/生成阶段使用,并且它们的工件不应该被检查到源代码控制中.

最终,您检入git的源代码是构建项目其余部分以进行开发或部署所需的最低配置.