2015-11-07 13 views
8

Sto provando a fare i conti con browserify ed ES6 contemporaneamente. Ho i seguenti file nodo di base:Come browserify, compilare ES6 e minimizzare l'applicazione NodeJS

main.js

var foo = require('./foo.js'); 
var x = foo.math(200); 
console.log(x); 

foo.js

exports.math = (n)=>{ 
    return n * 111; 
}; 

Ora voglio fare quanto segue:

  • Browserify this in a file bundle.js così posso includerlo come uno script nel mio sito
  • Compilare l'JS utilizzando babele di rendere l'ES6 leggibile da tutti i browser
  • Minify bundle.js per migliorare i tempi di caricamento nel browser

ho browserify installato a livello globale e lo eseguo con questo comando: browserify main.js > bundle.js

Funziona alla grande. Ma dovrei fare prima Babel? Come posso completare la mia procedura in 3 passaggi e in quale ordine (ovviamente la minificazione dovrà avvenire per ultima)? Dovrei fare tutto questo con il grugnito?

+0

Si dovrebbe fare questo con grunt, e utilizzare browserify prima. –

+0

Sì, dovresti usare prima Babel, che sembra essere una necessità quando userai i moduli ES6 – Bergi

+0

2 commenti in conflitto qui su quale attività eseguire per prima ... – Coop

risposta

8

Non dovrebbe essere più necessario utilizzare un task runner. Tuttavia, utilizzare un plugin pulito come babelify dalla riga di comando come descritto nel suo README.mdhere.

npm install --save-dev browserify babelify babel-preset-es2015 

browserify script.js -o bundle.js \ 
    -t [ babelify --presets es2015 ] 

E aggiungere altre trasformate come necessario da here o qualsiasi altro posto dove, per esempio uglify.

+1

Funziona alla grande! Grazie – Coop

+0

FWIW, uglify continua a non supportare es6 – Kraken

Problemi correlati