如何在没有子文件夹的情况下预编译资产?
示例,我的资产就是这样:
app/assets
/fonts
/images
sprite.png
/sprite
icon1.png
icon2.png
...
iconX.png
/stylesheets
/javascripts
我如何配置资产以在imagem中没有文件夹/sprite
进行预编译?
答案 0 :(得分:2)
一年前,这对我有用。我不再这样做,但我不知道它为什么不能继续工作。把它放到config / application.rb(或config / initializers / assets.rb)中:
config.assets.precompile = [
lambda do |filename, path|
path =~ /app\/assets/ &&
!%w(.js .css).include?(File.extname(filename)) &&
path !~ %r{app/assets/images/sprite/}
end,
/(?:\/|\\|\A)application\.(css|js)$/
]
您可能希望更新上述内容,以便更好地匹配以下来源中的内容。看起来它有点变化,但这应该可以让你到达你需要去的地方。
请参阅https://github.com/rails/sprockets-rails/blob/master/lib/sprockets/railtie.rb#L61