压缩未消化的 SASS 资产 rails
Compress non digested SASS assets rails
我有一些资产需要保留在资产管道之外,但仍需要压缩,特别是一些 SASS 文件。我已经为我的非消化 JS 实现了这一点,它看起来像这样:
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
这包含在我的初始化程序中。
是否可以使用 Sprockets 对我的非摘要 SASS 文件执行相同的操作?我已经快速浏览了 Sprockets::SassCompressor
,但到目前为止还无法正常工作。
如果您安装了 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
您是否尝试过使用链轮-sass gem?它适用于 SASS 和 SCSS 。目前仅支持链轮 2.x 和 3.x 。它还提供了一个压缩器。
我有一些资产需要保留在资产管道之外,但仍需要压缩,特别是一些 SASS 文件。我已经为我的非消化 JS 实现了这一点,它看起来像这样:
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
这包含在我的初始化程序中。
是否可以使用 Sprockets 对我的非摘要 SASS 文件执行相同的操作?我已经快速浏览了 Sprockets::SassCompressor
,但到目前为止还无法正常工作。
如果您安装了 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
您是否尝试过使用链轮-sass gem?它适用于 SASS 和 SCSS 。目前仅支持链轮 2.x 和 3.x 。它还提供了一个压缩器。