2014-01-20 12 views
5

Ich verwende grunt-contrib-compass, um meine SCSS-Dateien in einer einzigen CSS-Datei zu verarbeiten. Grundsätzlich betrachtet Kompass alle SCSS-Dateien, die app/styles/**/*.scss entsprechen, und kompiliert sie in .tmp/styles/main.css.Mehrere CSS-Ausgabe mit grunt-contrib-Kompass

Ich möchte dieses Verhalten in aufzuspalten:

  1. app/styles/specific/**/*.scss zu .tmp/styles/specific.css
  2. app/styles/**/*.scss zu .tmp/styles/main.css (ohne Berücksichtigung specific)

Allerdings habe ich keine Ahnung, wie Grunzen konfigurieren meine in Bezug auf Konfigurationsdatei, die ziemlich einfach ist:

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 
} 

Ich konnte keine Lösung finden, besonders seit die Kompass-Dokumentation besagt, dass cssDir und sassDir nur String als Parameter erlaubt. Muss dies in einer anderen Aufgabe getan werden?

Antwort

6

Ich denke, Sie sollten Grunzen-contrib-Sass versuchen, die für Kompass interne Unterstützung haben:
https://npmjs.org/package/grunt-contrib-sass

von Dokumentation:

compass 
Type: Boolean 
Default: false 

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

Und können Sie globale Muster von gruntjs verwenden:
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

Eigentlich war ich mit Kompass bec ause es wurde in den yeoman-Backbone-Generator eingebettet. Ich verwende keine seiner Funktionen. Ich werde mit 'grunt-contrib-sass' völlig in Ordnung sein und bei Bedarf" compass "in der Zukunft hinzufügen. – Simon