2014-01-20 23 views
5

我使用grunt-contrib-compass来将我的SCSS文件处理成一个CSS文件。基本上,指南针认为所有的SCSS文件匹配app/styles/**/*.scss并将它们编译成.tmp/styles/main.css使用grunt-contrib-compass的几个CSS输出

我想这种行为分成:

  1. app/styles/specific/**/*.scss.tmp/styles/specific.css
  2. app/styles/**/*.scss.tmp/styles/main.css(忽略specific

但是,我不知道如何配置关于咕噜我配置文件很简单:

options: { 
    sassDir: '<%= yeoman.app %>/styles', 
    cssDir: '.tmp/styles', 
    imagesDir: '<%= yeoman.app %>/images', 
    javascriptsDir: '<%= yeoman.app %>/scripts', 
    fontsDir: '<%= yeoman.app %>/styles/fonts', 
    importPath: '<%= yeoman.app %>/bower_components', 
    relativeAssets: true 
} 

我找不出任何解决方案,特别是因为指南针文档指出cssDirsassDir只允许字符串作为参数。这是否需要在其他任务中完成?

回答

6

我想你应该尝试咕噜-的contrib - 上海社会科学院有罗盘内部的支持:从文档
https://npmjs.org/package/grunt-contrib-sass

compass 
Type: Boolean 
Default: false 

Make Compass imports available and load project configuration 
(config.rb located close to the Gruntfile.js). 

你也可以使用gruntjs的全球模式:
http://gruntjs.com/configuring-tasks#globbing-patterns

sass: { 
dist: { 
    files: [ 
    { 
     src: 'app/styles/specific/**/*.scss', 
     dest:'.tmp/styles/specific.css' 
    }, 
    { 
     src: ['app/styles/**/*.scss', '!app/styles/specific/**/*.scss'],  
     dest:'.tmp/styles/main.css' 
    } 
    ] 
} 
} 
+0

其实我正在使用compass bec因为它嵌入了yeoman主干发生器。我没有使用它的任何功能。如果需要,我会在'grunt-contrib-sass'上完全正确地使用,并在将来添加'compass'。 – Simon