2015-07-25 16 views
6

Ho un'app di nodo che utilizza ES6. Sto usando Babel per il transpiling. Per quanto ho capito usare un sistema di costruzione come Gulp per esempio o usare lo require hook. L'approccio Require Hook mi sembra interessante dal momento che potrò conservare i miei file sorgente in ES6 ma li eseguirò comunque usando node server.js senza l'uso di alcuni sistemi di compilazione.Posso usare Babel Require Hook in produzione per ES6?

Questo sembra estremamente utile per lo sviluppo, le mie preoccupazioni principali riguardano l'utilizzo di questo approccio nella produzione.

  • Ha qualche colpo di penalità ogni volta che un utente fa una richiesta?
  • Come funziona esattamente?

Per il contesto lo sto utilizzando con un'app Express.

+1

FWIW, il "sistema di compilazione" può essere semplice come eseguire 'babel src/--out-dir dist /'. Questo convertirà tutti i file in 'src /' e li salverà in 'dist /'. –

risposta

7

C'è qualche colpo di penalità ogni volta che un utente fa una richiesta?

No, non nel senso che avrebbe dovuto ri-traspondere il codice su ogni richiesta.

Come funziona esattamente?

Il gancio richiedono fondamentalmente hi-prese tutte le chiamate successive require(), ed esegue il ES6-> ES5 transpiling prima di essere eseguito tale modulo.

Ho usato il babel per richiedere un hook in produzione per un po 'di tempo (con livelli di traffico moderati - traffico di picco nella gamma di centinaia di req/sec) e non è mai stato un problema.

+0

Quindi fondamentalmente lo trasponi la prima volta e lo memorizza nella cache o qualcosa del genere? –

+0

Sort of (ma non proprio). Anche senza babel nel mix, ogni modulo viene eseguito una sola volta. Ovviamente se dovesse esportare una funzione o qualcosa, quella funzione potrebbe essere eseguita un numero qualsiasi di volte, ma il modulo stesso viene valutato solo una volta nel momento in cui viene richiesto per la prima volta. L'introduzione di Babele nel mix non cambia questo comportamento, semplicemente esegue una transpilation prima di quella valutazione una tantum. – jmar777

+0

Grazie per la risposta dettagliata –

Problemi correlati