2012-06-16 6 views
21

Sto usando grugnito per concatenare e ridurre al minimo i miei file js, io uso la seguente configurazione per la parte concat:Come abbinare ogni file tranne uno in grotta concat?

concat: { 
    dist: { 
    src: ['<banner:meta.banner>', 'js/*.js'], 
    dest: 'js/script.js' 
    } 
} 

Si abbina ogni file nella mia cartella js ma ho bisogno di ignorare modernizr.js, c'è un modo di fare questo? Presumo che avrei bisogno di un modello che combacia con il voodoo per farlo, ma non sono sicuro di come.

Grazie in anticipo.

+0

Si noti che ' 'js/* js.' 'è ** non ** una regex, è un selettore di percorso (o qualunque sia il loro nome). Una regex sarebbe stata 'js \ /.* \. Js' ('. * 'Invece di' * ', e sfuggendo al punto, almeno). Guarderei in altri modi di escludere i file, potrebbe avere configurazioni aggiuntive. – Kobi

+0

Hai ragione, usa 'minimatch' per la selezione di file che converte le espressioni in oggetti JavaScript' RegExp' in modo che non sia al 100% regex – javiervd

risposta

33

Sulla base di documentation Vorrei provare:

js/!(modernizr).js 
(js/)!(modernizr).js 
{js/}!(modernizr).js 
js/!({modernizr}).js 
(js/)!({modernizr}).js 
{js/}!({modernizr}).js 
js/!{modernizr}.js 
(js/)!{modernizr}.js 
{js/}!{modernizr}.js 

Se nessuno di loro è andare a lavorare, allora probabilmente sono di fortuna fuori ...

+3

Grazie al primo funzionava bene, stavo cercando 'js /! Modernizr.js' prima di no chiedo perché non ha funzionato ... – javiervd

+2

@javiervd - In 'js /! modernizr.js' hai usato la negazione solo per la lettera' m', ecco perché non ha funzionato ... –

Problemi correlati