2015-11-07 11 views
8

Próbuję jednocześnie poradzić sobie z przeglądaniem i ES6. Mam następujące podstawowe pliki węzła:Jak przeglądać, kompilować ES6 i minify aplikacji NodeJS

main.js

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

foo.js

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

Teraz chcę wykonać następujące czynności:

  • Browserify to do pliku bundle.js więc mogę umieścić go jako skrypt w mojej stronie
  • Kompilacja JS przy użyciu Babel aby ES6 odczytywany przez wszystkie przeglądarki
  • Minify bundle.js poprawić czas ładowania w przeglądarce

Mam browserify zainstalowane globalnie i uruchomię to za pomocą tego polecenia: browserify main.js > bundle.js

Działa świetnie. Ale czy powinienem najpierw uruchomić Babel? Jak mogę wykonać mój 3-stopniowy proces i w jakiej kolejności (oczywiście minifikacja będzie musiała się wydarzyć jako ostatnia)? Czy powinienem to wszystko robić z chrząkaniem?

+0

Powinieneś to zrobić z chrząknięciem i najpierw użyj przeglądarki. –

+0

Tak, powinieneś najpierw użyć Babel, co wydaje się być koniecznością, gdy użyjesz modułów ES6 – Bergi

+0

2 sprzeczne komentarze tutaj o tym, które zadanie należy uruchomić ... – Coop

Odpowiedz

8

Nie powinno już być konieczne korzystanie z funkcji Runner zadań. Należy jednak użyć czystej wtyczki, takiej jak babelify z wiersza poleceń, jak opisano w jej README.mdhere.

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

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

i dodać inne transformacje w miarę potrzeb z here lub gdziekolwiek indziej, np uglify.

+1

Działa świetnie! Dzięki – Coop

+0

FWIW, uglify nadal nie obsługuje es6 – Kraken

Powiązane problemy