我已经开始使用bower-rails来管理我的rails项目中的css / js资产。
默认情况下,依赖关系安装在vendor/assets/bower_components
中。
问题是凉亭复制整个包裹,包括来源,示例,许可证等
我没有问题摆脱所有这些文件,但我想知道是否有必要包括甚至重要文件,因为我认为应该是程序员负责在加载项目的计算机中加载这些依赖(也许有咕噜声?),除了假设你不应该触摸供应商包,因为它们不是你的责任(关于我想要删除的所有那些糟糕的文件)。
我的观点是:是否存在与凉亭包和版本控制相关的任何“最佳实践”?
答案 0 :(得分:1)
我最近第一次使用了bower-rails,让Git忽略了vendor/assets/bower_components
目录,效果很好。
如果您选择让Git忽略bower_assets
,那么应该在bower.json中指定每个库的已知良好版本,而不是使用latest
来避免版本冲突。
答案 1 :(得分:0)
我在我的Rails 4.2.x应用程序中使用bower和bower-installer,而不使用任何gems用于javascript依赖。我还在使用资产管道。
我将vendor / assets / bower_components添加到我的.gitignore文件中。我使用bower-installer将我需要的内容复制到vendor/assets/{javascripts,stylesheets}
,其中是在源代码管理中。
我认为这给了我两全其美:JS库的版本控制,因此更新相对容易,但生产部署没有机会失败,因为有人删除了' leftpad'来自节点repo。
这是我的bower.json
文件的精简版(在源代码管理中)。请注意,jquery-form不在bower repo中,所以我包含了下载文件的路径。
{
"name": "icots",
"main": "",
"private": true,
"ignore": [
"**/.*",
"bower_components",
"vendor/assets/bower_components",
"lib"
],
"dependencies": {
"jquery": "^3.1.1",
"jquery-ui": "^1.12.1",
"jquery.form": "http://malsup.github.io/min/jquery.form.min.js"
},
"install": {
"path": {
"js": "vendor/assets/javascripts",
"css": "vendor/assets/stylesheets",
"/[sc|le]ss$/": "vendor/assets/stylesheets"
},
"sources": {
"jquery": "vendor/assets/bower_components/jquery/dist/jquery.min.js",
"jquery-ui": "vendor/assets/bower_components/jquery-ui/jquery-ui.min.js",
"jquery-form": "vendor/assets/bower_components/jquery.form/index.js"
}
}
}