【问题标题】:How to require assets only for development environment如何仅对开发环境要求资产
【发布时间】:2011-11-30 09:20:25
【问题描述】:

我正在使用 Rails 3.1 中的资产管道,并且我只想在开发环境中包含一些 javascript 文件。

例子:

//= require application/jquery
//= require application/jquery_ujs
// next ones only for development environment
//= require application/badglobals
//= require application/consul

它有这样做的标准方法吗?有什么建议吗?

更新

查看 Sprockets 当前文档,似乎没有办法做到这一点。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 sprockets asset-pipeline


    【解决方案1】:

    为什么不在视图中只需要这些?将它们加载到资产中是否重要?在视图中加载它们:

    <% if Rails.env.development? %>
      <%= javascript_include_tag "application/badglobals" %>
      <%= javascript_include_tag "application/consul" %>
    <% end %>
    

    【讨论】:

    • 你是对的,因为我只想要它用于开发真的不需要这里的资产管道。
    • 我的第一个问题,一个不好的问题......无论如何感谢您的回答。订阅了你的博客!
    • @mooddha:一点也不差!很清楚你想要做什么,只是你没有以正确的方式去做。就是这样。
    【解决方案2】:

    如果您将application.js 文件(或您在其中调用//= require ... 的任何文件)重命名为application.js.erb,则可以利用require_asset。即:

    //= require application/jquery
    //= require application/jquery_ujs
    <% if Rails.env.development? %>
      <%= require_asset 'application/badglobals' %>
      <%= require_asset 'application/consul' %>
    <% end %>
    

    来源:https://github.com/sstephenson/sprockets/issues/90

    【讨论】:

    • 最干净的方法。
    猜你喜欢
    • 2013-06-02
    • 1970-01-01
    • 2017-05-09
    • 1970-01-01
    • 1970-01-01
    • 2018-06-04
    • 2015-12-14
    • 2012-05-21
    • 1970-01-01
    相关资源
    最近更新 更多