Answers:
该负责人鲍尔页指出:
注意:如果您没有编写要供他人使用的软件包(例如,您正在构建Web应用程序),则应始终将已安装的软件包检入源代码管理中。
确保检查引号中的链接,其中讨论了一些利弊。它提到的主要优点是,只要存储库可用,检入它们就可以确保您的依赖项始终可用。无论Bower,GitHub发生什么情况,否则将需要其他任何方法。
新生成的Yeoman AngularJS项目中的.gitignore文件列出了bower_components(和node_modules)被忽略(如果您不知道Yeoman,它是现代Web应用程序的一个非常有名的Web脚手架工具,对我来说已经足够了!):
.gitignore
node_modules
dist
.tmp
.sass-cache
bower_components
约曼发电机预先装满了的.gitignore与bower_components文件,但它也预填充其他目录我认为将需要一个最终的应用程序(如www),所以我做了一些研究。
我发现www / index.html是app / index.html的缩小版本。应用程序目录及其内容(包括bower_components)包含输出目录(www)所需的源文件。您将源目录提交到源代码管理(即git)中,而不提交到生成的文件(即www)中。诸如bower和npm之类的程序包管理器应在构建/生成阶段使用,而其工件则无意进入源代码控制。
最终,您检入git的源是为开发或部署目的而构建其余项目所需的最低配置。
如果使用Shawn Lonas编写的bower-locker创建锁定文件,则最好忽略/bower_components
dir并仅检入bower.json
和bower-locker.bower.json
file 。
在创建Bower-Locker之前,存在一个缺点,那就是由于Bower 没有收缩包装功能,但是可以通过上述库来缓解。
运行以下命令以实现它:
npm install bower-locker -g
要么
yarn global add bower-locker
然后bower.json
通过运行以下命令基于现有文件生成锁定文件:
bower-locker lock
原始bower.json
文件将重命名为bower-locker.bower.json
.gitignore
文件中”