2015-05-19 10 views
15

Così ho questo nel mio gruntfile:Come configurare grugnito-babele di transpile un'intera directory

gruntConfig.babel = { 
     options: { 
      sourceMap: true 
     }, 
     dist: { 
      files: { 
       "dist/server.js": "src/*.js" 
      } 
     } 
    }; 

transpiles Questa correttamente tutti i file js a src, ma sovrascrive dist/server.js ogni volta.

Questo deve essere davvero semplice, ma non riesco a capire come farlo scrivere a diversi file di output, uno per ogni file sorgente.

+0

Questo è super fastidioso e, ovviamente, non qualcosa che chiunque avrebbe mai voluto. E non va contro il comportamento predefinito di Grunt? Forse sono stupido, ma secondo i documenti di Grunt, quanto sopra dovrebbe risultare in un file concatenato, che è quello che sto cercando di ottenere al momento. –

+1

una correzione minore: afaik, questo non "traspone tutti i file js in src", si fermerà dopo il primo. – pgpv

risposta

24

È possibile ottenere utilizzando dynamic files mapping.

Per il vostro caso di configurazione sarà simile a questa:

gruntConfig.babel = { 
    options: { 
     sourceMap: true 
    }, 
    dist: { 
     files: [ 
      { 
       expand: true, 
       cwd: 'src/', 
       src: ['*.js'], 
       dest: 'dist/' 
      } 
     ] 
    } 
}; 
+0

Non preserva la struttura di 'src /', piuttosto che concatenare in 'dist /'? – tandrewnichols

+0

"Preserve" non "preserver". . . thanks overflow dello stack per l'eliminazione delle modifiche ai commenti dopo 5 minuti. – tandrewnichols