你能配置Compass删除不需要的开发文件,即源图吗?

时间:2013-11-19 15:46:25

标签: ruby sass compass-sass

我有一个非常简单的Compass配置,可以非常巧妙地处理开发和生产代码:

http_path = "/"
sass_dir = "assets/scss"
css_dir = "assets/css"
images_dir = "assets/img"
javascripts_dir = "assets/js"

# Reflective command line configuration switches; invoke with: compass compile --environment=production
output_style = (environment == :production) ? :compressed : :expanded

# Additional Sass configuration
Sass::Script::Number.precision = 3
sourcemaps_required = (environment == :production) ? false : true
sass_options = {:sourcemap => sourcemaps_required}
enable_sourcemaps = sourcemaps_required

sourcemaps_required标志确定是否在编译时根据当前Compass environment开关输出源图。

为了完成此操作,我想添加一条进一步的说明,当assets/css评估为 false 时,可以删除sourcemaps_required中的所有源地图 - 即输出缩小的CSS时使用--environment=production指南针标志进行部署。

在同一个Compass配置文件中是否可以使用这种文件清理指令,还是需要调用单独的脚本?

(目前,我只是在上传前手动删除不需要的.map文件。)

1 个答案:

答案 0 :(得分:0)

您可以这样做:

on_sourcemap_saved do |filename|
  if File.exists?(filename)
     File.delete filename
  end
end

您只需要指定必须在哪种情况下执行(在产品上)

希望有所帮助:)