Несколько выходных CSS с grunt-contrib-compass

Я использую grunt-contrib-compass обработать мои файлы SCSS в один файл CSS. По сути, компас учитывает все файлы SCSS, соответствующие app/styles/**/*.scss и собрать их в .tmp/styles/main.css,

Я хотел бы разделить это поведение на:

  1. app/styles/specific/**/*.scss в .tmp/styles/specific.css
  2. app/styles/**/*.scss в .tmp/styles/main.css (без учета specific)

Тем не менее, я понятия не имею, как настроить 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
}

Я не мог найти никакого решения, тем более что документация по компасу гласит, что cssDir а также sassDir допускает только строку в качестве параметра. Это должно быть сделано в другой задаче?

1 ответ

Решение

Я думаю, что вы должны попробовать 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

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'
    }
  ]
 }
}
Другие вопросы по тегам