【问题标题】:loading order JavaScript files in asset pipeline在资产管道中加载订单 JavaScript 文件
【发布时间】:2014-03-23 06:51:20
【问题描述】:

我正在使用 Rails 4 应用程序。我在“vendor/assets/javascripts”中安装了一些 JavaScript 插件文件,在“app/assets/javascripts”中安装了一些插件文件,其中一些文件正在从供应商文件中调用方法。

没有识别出这些方法,并且似乎“app/assets/javascripts”文件在“vendor/assets/javascripts”文件之前加载。我该如何处理?

有关我的“application.js”调用的信息:

//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require rails.validations
//= require_tree .

我正在使用gem 'jquery-rails'。

【问题讨论】:

    标签: javascript ruby-on-rails ruby asset-pipeline


    【解决方案1】:

    您需要的供应商树中的任何文件都必须在“application.js”中明确要求。它将使用“require_tree”拉入“app/assets/”树中的所有 JavaScript。

    您可能需要更新文件以使其看起来更像这样:

    //= require jquery
    //= require jquery_ujs 
    //= require turbolinks
    //= require rails.validations
    //= require that_file_from_vendor_assets
    //= require that_other_file_from_vendor_assets
    //= require_tree .
    

    that_file_from_vendor_assets 是供应商 JavaScript,您需要在它到达您的“app/assets/javascript”文件之前加载它。

    【讨论】:

      【解决方案2】:

      只是改变

      //=require_tree .
      

      像这样:

      //= require_self
      

      然后文件将按照您放入application.js文件的顺序导入。

      不要忘记布局文件中的<%= javascript_include_tag "application"%>。

      【讨论】:

      • 还是不行。哪个文件将首先加载:vendor/assets/javascripts 或 app/assets/javascripts 的文件?
      猜你喜欢
      • 2014-03-01
      • 2013-03-01
      • 2017-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多