2015-04-22 4 views
9

Mam trzy pliki:Jak wyłączyć łączenie grunt-contrib-cssmin?

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

i chcę je zminimalizować.

Oto moja 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 jest tylko jeden plik o nazwie selectize.min.css ja nie chcę, aby zminimalizować tylko jeden plik. Jak mogę zminimalizować wszystkie trzy z nich?

+0

Jakiej wersji cssminu używasz? Wygląda na to, że jest nieaktualny. Zobacz dokumenty, które określają inny sposób konfigurowania wtyczki: https://github.com/gruntjs/grunt-contrib-cssmin –

+0

nie, sprawdziłem package.json, a wersja jest 0.12.2 –

Odpowiedz

-2

Jeśli dobrze rozumiem Twoje pytanie, chcesz zminimalizować pliki, ale nie łączyć ich w jedno? W takim przypadku moim zaleceniem byłoby osobne wywoływanie każdego pliku. np .:

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' 
     }] 
    }, 
} 

To prawdopodobnie nie jest najczystszy sposób, ale zrobi to, co chcesz. Nie testowałem tego kodu, więc ostrzegam, że nie wiem, że to działa.

+4

Tak, znasz mnie, działa bardzo dobrze, gdy plik css jest mniejszy. ale gdy plik css ma więcej niż 10 i więcej, programista tego nie lubi. –

+0

lol @PengLin Chciałbym wykadrować twój komentarz i umieścić go na mojej ścianie. –

3

Ten bilet jest w pewnym sensie stary, ale jak to wymownie określił Peng Lin, wybrana odpowiedź jest niewystarczająca dla większości programistów, ponieważ wymaga zbyt wielu regulacji ręcznych. Nie można go utrzymywać.

Grunt ma sposób określenia miejsca, w którym kropka rozszerzenia znajduje się w nazwach plików. Domyślnie jest ustawiony na pierwszy, który skutecznie zmienia nazwy plików na wyjściu. Właściwość nazywa się extDot. Możesz przeczytać o tym Here, jeśli chcesz.

Jeśli ustawisz na ostatni, zachowa ona twoje nazwy plików i Twój oryginalny przykład zadziała.

Przykład:

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 
    }] 
} } 

Nadzieja to pomaga komuś w przyszłości.