几个CSS输出与grunt-contrib-compass

时间:2014-01-20 17:11:01

标签: sass gruntjs compass-sass grunt-contrib-compass

我正在使用grunt-contrib-compass将我的SCSS文件处理为单个CSS文件。基本上,指南针会考虑与app/styles/**/*.scss匹配的所有SCSS文件,并将它们编译为.tmp/styles/main.css

我想将此行为分为:

  1. app/styles/specific/**/*.scss.tmp/styles/specific.css
  2. app/styles/**/*.scss.tmp/styles/main.css(忽略specific
  3. 但是,我不知道如何配置关于我的配置文件的grunt非常简单:

    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仅允许字符串作为参数。这是否必须在其他任务中完成?

1 个答案:

答案 0 :(得分:6)

我认为你应该尝试对罗盘有内部支持的grunt-contrib-sass:
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'
    }
  ]
 }
}