2013-04-01 9 views
11

come specificare un separatore in questo scenario:
sto concatenando i miei file con grugnito-concat in questo modo:opzione separatore grunt-concat?

concat: { 
    options: { 
    banner: '<%= banner %>', 
    separator: "" 
    }, 
    dist: { 
    files:{ 
     '<%= distdir %>/public/scripts/ieditor.js': [ 
     'public/scripts/ieditor/vars.js', 
     'public/scripts/ieditor/controllers/*.js', 
     'public/scripts/ieditor/directives/*.js', 
     'public/scripts/ieditor/app.js', 
     'public/scripts/ieditor/services/*.js', 
     'public/scripts/ieditor/filters/*.js' 
     ], 
     '<%= distdir %>/public/scripts/dashboard.js': [ 
     'public/scripts/dashboard/vars.js', 
     'public/scripts/dashboard/controllers/*.js', 
     'public/scripts/dashboard/directives/*.js', 
     'public/scripts/dashboard/app.js', 
     'public/scripts/dashboard/services/*.js', 
     'public/scripts/dashboard/filters/*.js' 
     ] 
    } 
    } 
} 

quello che voglio è quello di ottenere un risultato finale mappato i file originali come bussola quando si concatenano i file CSS.
Esempio:

//####public/scripts/ieditor/vars.js############### 
content of public/scripts/ieditor/vars.js 
//####public/scripts/ieditor/controllers/a.js###### 
content of public/scripts/ieditor/controllers/a.js 
//####public/scripts/ieditor/controllers/b.js###### 
content of public/scripts/ieditor/controllers/b.js 
..... 

Allora qual è il nome che fa riferimento al file attuale in fase di concatenati in modo che io possa fare qualcosa di simile nella zona di opzioni:

options: { 
    banner: '<%= banner %>', 
    separator: "<%= current_file_name %>" 
    }, 

Grazie in anticipo.

risposta

19

Il process option, specified as a function, è tuo amico:

concat: { 
    options: { 
    process: function(src, filepath) { 
     return '//####' + filepath + '\n' + src; 
    } 
    } 
}, 
... 
+1

che non ha funzionato per me, non so perché !? nulla viene aggiunto dalla funzione di processo. –

+1

Forse 'console.log()' può aiutarti a scoprire se la funzione viene chiamata? Sono su 'grunt' 0.4.1 e' grunt-contrib-concat' 0.3.0, e funziona per me – xverges

+0

In realtà la funzione viene chiamata Ho usato l'esempio nei documenti, dove sostituisce tutto l'uso limitare 'con uno in alto, che funzionava ma il 'filepath' non è stato aggiunto. –