我在我的 Rails 4.2.x 应用程序中使用 bower 和 bower-installer,而没有使用任何 gem 来实现 javascript 依赖项。我仍在使用资产管道。
我将 vendor/assets/bower_components 添加到我的 .gitignore 文件中。我使用 bower-installer 将我需要的内容复制到 vendor/assets/{javascripts,stylesheets},在源代码管理中。
我认为这给了我两全其美:JS 库的版本控制,因此更新相对容易,但生产部署不会因为有人从节点存储库中删除“leftpad”而失败。
这是我的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"
}
}
}