使用Grunt Compass任务生成没有调试信息的生产CSS代码

时间:2013-07-22 22:24:10

标签: css sass compass-sass gruntjs yeoman

我正在使用Yeoman RC1.1生成我的项目并加载grunt-contrib-compass以在我的项目中使用Scss。

当我执行grunt build时,生成的CSS会缩小,但会充满调试注释。它看起来像这样:

@media -sass-debug-info{filename{font-family:file\:\/\/\/\/Users\/myname\/Sites\/project\/app\/components\/sass-bootstrap\/lib\/_reset\.scss}line{font-family...

整个事情被很多-sass-debug-info代码污染了。

在Gruntfile.js中,我设置了以下选项(在众多其他选项中)以关闭/ dist / css文件的调试注释:

grunt.initConfig({
    compass: {
        dist: {
            options: {
                debugInfo: false
            }
        }
    }
}

假设关闭debugInfo并将false设置为{{1}}以解决问题,我是否错误?

4 个答案:

答案 0 :(得分:1)

我最近遇到了这个错误,问题是指南针/ grunt不会重新编译你的css文件,除非其中一个正在观看的文件发生了变化。您不仅需要更新debugInfo:false,还需要对scss文件进行更改,以使其重新编译css文件,而无需内联调试信息。

答案 1 :(得分:0)

尝试输出syle compressed https://github.com/gruntjs/grunt-contrib-compass#debuginfo和environment:production

答案 2 :(得分:0)

您必须在compass.server.options.debugInfo

中将debugInfo的值更改为true
compass: {
  options: {
    sassDir: '<%= yeoman.app %>/styles',
    cssDir: '.tmp/styles',
    generatedImagesDir: '.tmp/images/generated',
    imagesDir: '<%= yeoman.app %>/images',
    javascriptsDir: '<%= yeoman.app %>/scripts',
    fontsDir: '<%= yeoman.app %>/styles/fonts',
    importPath: '<%= yeoman.app %>/bower_components',
    httpImagesPath: '/images',
    httpGeneratedImagesPath: '/images/generated',
    httpFontsPath: '/styles/fonts',
    relativeAssets: false,
    assetCacheBuster: false,
    raw: 'Sass::Script::Number.precision = 10\n'
  },
  dist: {
    options: {
      generatedImagesDir: '<%= yeoman.dist %>/images/generated'
    }
  },
  server: {
    options: {
      //set degbugInfo false to produce css code without sass debugInfo
      debugInfo: false
    }
  }
},

答案 3 :(得分:-1)

Grunt指南针使用位于&#34; .tmp&#34;的缓存。您应该在运行Grunt构建任务时清除此文件夹,或者手动执行此操作。