【问题标题】:Should vendor assets be included in version control with bower + rails?供应商资产是否应该包含在使用 bower + rails 的版本控制中?
【发布时间】:2014-06-24 02:11:19
【问题描述】:

我已经开始使用bower-rails 来管理我的rails 项目中的css/js 资产。 默认情况下,依赖项安装在vendor/assets/bower_components 中。 问题是 bower 复制了整个包,包括源代码、示例、许可证等。
摆脱所有这些文件我没有问题,但我想知道是否有必要包括重要文件,因为我认为在加载项目的计算机中加载这些依赖项应该是程序员的责任(也许有咕噜声?),除了应该你不应该触摸供应商包,因为它们不是你的责任(关于我想删除的所有那些糟糕的文件)。
我的观点是:是否有任何与 Bower 包和版本控制相关的“最佳实践”?

【问题讨论】:

    标签: javascript ruby-on-rails ruby-on-rails-4 bower assets


    【解决方案1】:

    我最近第一次使用 bower-rails,让 Git 忽略 vendor/assets/bower_components 目录效果很好。

    如果您选择让 Git 忽略 bower_assets,您应该在 bower.json 中指定每个库的已知良好版本,而不是使用 latest 以避免版本冲突。

    【讨论】:

      【解决方案2】:

      我在我的 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"
          }
        }
      }
      

      【讨论】:

        猜你喜欢
        • 2020-05-17
        • 2019-11-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多