我有一个非常简单的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文件。)
答案 0 :(得分:0)
您可以这样做:
on_sourcemap_saved do |filename|
if File.exists?(filename)
File.delete filename
end
end
您只需要指定必须在哪种情况下执行(在产品上)
希望有所帮助:)