压缩未消化的SASS资产轨道

时间:2016-10-13 06:29:12

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

我有一些资产需要远离资产管道,但仍需要压缩,特别是一些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 但是到目前为止还没有能够让它工作。

2 个答案:

答案 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.它还提供压缩机。