如何使用grunt-contrib-compass和grunt-contrib-cssmin进行组合

时间:2013-06-06 05:18:11

标签: gruntjs

我正在使用grunt-contrib-compass处理我的.SCSS文件

compass: {
  dist: {
    options: {
      cssDir: 'www/styles',
      sassDir: 'www/styles',
      imagesDir: 'www/images',
      javascriptsDir: 'www/scripts',
      force: true
    }
  }
},

我正在使用grunt-contrib-watch来查看哪个文件已被更改。

watch: {
  compass: {
    files: [
      'www/styles/**/*.{scss,sass}'
    ],
    tasks: ['compass']
  }
}

在生成.CSS个文件后,我想使用grunt-contrib-cssmin缩小它。但是当我这样做tasks: ['compass', 'cssmin']时,第二次我需要缩小文件,它不会覆盖它,而是追加它。因此,如果第一次文件是10kb,下次我保存它会变成20kb,依此类推......

这样做的正确方法是什么?

2 个答案:

答案 0 :(得分:3)

在每次编译之前,您可以使用grunt-contrib-clean删除目标目录中的所有内容:

https://github.com/gruntjs/grunt-contrib-clean

compass之前运行任务,您将确保避免与旧代码发生任何冲突。

答案 1 :(得分:1)

指南针也可以缩小文件; output_style = :compressed查看Compass的Configuration Reference了解更多信息。

我更喜欢使用config.rb;

compass: {
    dest: {
        config: 'config.rb',
        force: true
    }
},