Ho un progetto con diverse sottocartelle che contengono file JavaScript che voglio concatenare. quale sarebbe il modo giusto per configurarli?Mappatura dinamica per destinazioni in grunt.js
es.
fonte: /modules/$modulename/js/*.js (diversi file) dest: /modules/$modulename/js/compiled.js
Quindi quello che voglio fare è compilare JS- file di un conteggio delle sottocartelle sconosciuto/non configurato ($ modulename) in un file per sottocartella.
È possibile?
la seguente funzione (costruita dopo le istruzioni del hereandnow78) fa il lavoro:
grunt.registerTask('preparemodulejs', 'iterates over all module directories and compiles modules js files', function() {
// read all subdirectories from your modules folder
grunt.file.expand('./modules/*').forEach(function(dir){
// get the current concat config
var concat = grunt.config.get('concat') || {};
// set the config for this modulename-directory
concat[dir] = {
src: [dir + '/js/*.js', '!' + dir + '/js/compiled.js'],
dest: dir + '/js/compiled.js'
};
// save the new concat config
grunt.config.set('concat', concat);
});
});
dopo che ho messo preparemodulejs prima che il lavoro concat nella mia configurazione di default.
@ hereannow78 questo approccio è grande, ho completamente dimenticato che posso leggere nella struttura di file. inserirò un aggiornamento nella domanda su quale funzione funziona. – Patrick
+1 per suggerire la directory 'tasks'. Ci sono troppi Gruntfile gonfiati là fuori. – ZenMaster
Questo è abbastanza vecchio, esiste un modo per escludere le cartelle dalla directory principale? – pcnate