【问题标题】:Point Sprockets' `depend_on` directive to a non-assets file将 Sprockets 的 `depend_on` 指令指向非资产文件
【发布时间】:2013-01-20 13:25:10
【问题描述】:

我有一个app/assets/javascripts/moufa.js.erb 文件,其中填充了来自config/moufa.yml 文件的值。我想使用depend_on sprockets 指令,这样每次更改yaml 文件时,它都会重新编译js 文件。

【问题讨论】:

  • 我正在尝试解决同样的问题。如果您使用绝对路径,您可以将depend_on 指向资产路径之外,但如果您使用相对路径,Hike 会显式检查该路径是否是资产路径之一。我(还)没有解决这个问题。

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


【解决方案1】:

我们能够通过添加一个新指令来解决这个问题。该指令(将其放在 config/initializers/sprockets.rb 中)添加了对 config/ 目录中文件的依赖:

class Sprockets::DirectiveProcessor
  def process_depend_on_config_directive(file)
    path = File.expand_path(file, "#{Rails.root}/config")
    context.depend_on(path)
  end
end

【讨论】:

  • 你能提供这个指令的使用例子吗?
  • //=depend_on_config "application.yml"
  • 听起来不错。我会尝试一下并确认这是否有效。
  • 已在链轮 2.2.2 和导轨 3.2 上确认
  • 在 Rails 4.1.8、Sprockets 2.11.3 上静默失败
猜你喜欢
  • 2014-06-22
  • 2015-10-05
  • 1970-01-01
  • 1970-01-01
  • 2013-02-27
  • 2014-05-29
  • 2019-09-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多