我有一些资产需要远离资产管道,但仍需要压缩,特别是一些SASS文件。我已经为我的非消化JS实现了这个,看起来像这样:
* width
这包含在我的初始化程序中。
是否可以使用Sprockets对我的非消化SASS文件执行相同的操作?我已经快速查看了Dir["#{Rails.root}/app/assets/javascripts/non_digest/*"].each do |asset|
asset_name = File.basename(asset)
asset_output = "#{Rails.root}/public/external/#{asset_name}"
asset_uglified = Uglifier.compile(File.read(asset))
File.open(asset_output, 'w') {|a| a.write(asset_uglified) }
end
但是到目前为止还没有能够让它工作。
答案 0 :(得分:0)
如果您安装了sass gem,则可以执行以下操作:
Dir["#{Rails.root}/app/assets/stylesheets/non_digest/*"].each do |asset|
asset_name = File.basename(asset)
asset_output = "#{Rails.root}/public/external/#{asset_name.gsub('.scss', '.css')}"
asset_minified = Sass::Engine.new(File.read(asset), syntax: :scss, style: :compressed).render
File.open(asset_output, 'w') {|a| a.write(asset_minified) }
end
答案 1 :(得分:0)
您是否尝试过使用sprockets-sass gem?它适用于SASS和SCSS。目前仅支持链轮2.x和3.x.它还提供压缩机。