【问题标题】:Rails 3.1 Asset Pipeline manifest file won't pick up javascriptsRails 3.1 资产管道清单文件不会提取 javascripts
【发布时间】:2012-02-07 10:35:48
【问题描述】:

我在供应商/资产/javascripts 中有一大堆 javascripts。在我的 app/assets/javascripts/application.js 文件中,我有指令:

//= require_tree .

是否只引用当前的 app/assets/javascripts 目录,而不是 lib/assets 或 vendor/assets?

如果我明确包含 javascript,它就可以工作。如果没有必要,我真的不想这样做。

我是否遗漏了什么可以让资产管道能够自动从应用程序目录(lib 和供应商)外部提供资产?

【问题讨论】:

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


    【解决方案1】:

    此外,您可以在没有第二个清单的情况下这样做:

    //= require_tree ../../../vendor/assets/javascripts/.
    

    路径应相对于“app/assets/javascripts/application.js”清单文件。

    【讨论】:

      【解决方案2】:

      require_tree 仅拉入 application.js 文件下的资产。

      lib/assets 和 vendor/assets 已包含在管道 (refer this code) 的查找路径中。

      您可以使用第二个清单来包含这些供应商文件。

      转到vendor/assets/javascripts 并创建一个名为 misc_vendor.js 的文件

      在里面添加一个 require_tree 指令。

      然后从您的 application.js 清单中引用该文件:

      require misc_vendor
      

      如果您因为加载顺序而有任何问题,您可以手动按您需要的顺序请求供应商文件,而不是使用 require_tree。

      作为转换为管道的一部分,这可能是清理事物的好机会! :-)

      【讨论】:

        【解决方案3】:

        您需要像这样在 application.rb 文件中扩展路径。

        config.assets.paths << "#{Rails.root}/vendor/assets/some file name"
        

        Refer this Guide for more details

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-11-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-08-28
          • 1970-01-01
          • 2011-11-23
          相关资源
          最近更新 更多