2015-04-22 14 views
9

Ich habe drei Dateien:Wie zum Deaktivieren von grunt-contrib-cssmin kombinieren?

'selectize.default.css' 
'selectize.pagination.css' 
'selectize.patch.css' 

und ich möchte, dass sie zu minimieren.

Hier ist meine gruntfile:

cssmin: { 
    min: { 
     files: [{ 
      expand: true, 
      cwd: 'css', 
      src: [ 
       'selectize.default.css', 
       'selectize.pagination.css', 
       'selectize.patch.css', 
       '!*.min.css' 
      ], 
      dest: 'release/css', 
      ext: '.min.css' 
     }] 
    } 
} 

Problem ist es benannt nur eine Datei ist selectize.min.css Ich möchte nicht, dass es nur eine Datei zu minimieren. Wie kann ich alle drei minimieren?

+0

Welche Version von cssmin verwenden Sie? Sieht so aus, als wäre es veraltet. Siehe die Dokumente, die eine andere Art der Konfiguration des Plugins angeben: https://github.com/gruntjs/grunt-contrib-cssmin –

+0

Nein, ich habe package.json überprüft und Version ist 0.12.2 –

Antwort

-2

Wenn ich Ihre Frage richtig verstehe, möchten Sie die Dateien minimieren, aber nicht zu einem kombinieren? In diesem Fall würde ich empfehlen, getrennte Aufrufe für jede Datei vorzunehmen. z.B .:

cssmin: { 
    default: { 
     files: [{ 
      expand: true, 
      cwd: 'css', 
      src: [ 
       'selectize.default.css', 
      ], 
      dest: 'release/css', 
      ext: '.min.css' 
     }] 
    }, 
    pagination: { 
     files: [{ 
      expand: true, 
      cwd: 'css', 
      src: [ 
       'selectize.pagination.css', 
      ], 
      dest: 'release/css', 
      ext: '.min.css' 
     }] 
    }, 
    patch: { 
     files: [{ 
      expand: true, 
      cwd: 'css', 
      src: [ 
       'selectize.patch.css', 
      ], 
      dest: 'release/css', 
      ext: '.min.css' 
     }] 
    }, 
} 

Es ist wahrscheinlich nicht der sauberste Weg, aber es wird tun, was Sie wollen. Ich habe diesen Code nicht getestet, also sei gewarnt, ich weiß nicht, dass es funktioniert.

+4

Ja, Sie kennen mich, es funktioniert sehr gut, wenn CSS-Datei weniger ist. Aber wenn die CSS-Datei mehr als 10 und mehr ist, mag der Programmierer das nicht. –

+0

lol @PengLin Ich möchte deinen Kommentar einrahmen und an meine Wand hängen. –

3

Dieses Ticket ist also etwas alt, aber wie Peng Lin so eloquent oben erwähnt, ist die ausgewählte Antwort für die meisten Programmierer nicht geeignet, da es zu viel manuelle Anpassung erfordert. Es ist nicht wartbar.

Grunt hat eine Möglichkeit anzugeben, wo der Erweiterungspunkt in Dateinamen ist. Standardmäßig ist es auf den ersten Wert gesetzt, der die Dateinamen bei der Ausgabe effektiv ändert. Die Eigenschaft heißt extDot. Sie können darüber lesen Here, wenn Sie möchten.

Wenn Sie es auf letzten setzen, wird es Ihre Dateinamen beibehalten und Ihr ursprüngliches Beispiel wird funktionieren.

Beispiel:

cssmin: { 
    min: { 
    files: [{ 
     expand: true, 
     cwd: 'css', 
     src: [ 
      'selectize.default.css', 
      'selectize.pagination.css', 
      'selectize.patch.css', 
      '!*.min.css' 
     ], 
     dest: 'release/css', 
     ext: '.min.css', 
     extDot: 'last' // Extensions in filenames begin after the last dot 
    }] 
} } 

Hope this jemand in der Zukunft hilft.