2015-11-07 4 views
8

Ich versuche, browserify und ES6 gleichzeitig in den Griff zu bekommen. Ich habe die folgenden grundlegenden Knoten Dateien:Wie browsen, kompilieren Sie ES6 und minimieren Sie die NodeJS-Anwendung

  • :

    main.js

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

    foo.js

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

    Jetzt habe ich folgendes tun wollen Browserisieren Sie dies in eine Datei bundle.js so kann ich es als Skript in meiner Website enthalten

  • die JS Kompilieren babel mit dem ES6 lesbar von allen Browsern zu machen
  • Minify bundle.js Ladezeiten im Browser zu verbessern

I browserify installiert global und ich führe das mit diesem Befehl aus: browserify main.js > bundle.js

Funktioniert gut. Aber sollte ich zuerst babel laufen? Wie beende ich meinen 3-Schritte-Prozess und in welcher Reihenfolge (natürlich muss die Minification zuletzt stattfinden)? Soll ich das alles mit Grunzen machen?

+0

Sie sollten dies mit Grunt tun, und verwenden Sie zuerst browserify. –

+0

Ja, Sie sollten zuerst babel verwenden, was eine Notwendigkeit zu sein scheint, wenn Sie ES6-Module verwenden würden – Bergi

+0

2 widersprüchliche Kommentare hier, welche Aufgabe zuerst ausgeführt werden soll ... – Coop

Antwort

8

Es sollte nicht mehr notwendig sein, einen Task-Runner zu verwenden. Verwenden Sie jedoch ein ordentliches Plugin wie babelify von der Befehlszeile wie in seiner README.mdhere beschrieben.

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

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

Und fügen andere Transformationen wie aus here benötigt oder sonst wo, z.B. uglify.

+1

Funktioniert gut! Danke – Coop

+0

FWIW, uglify unterstützt immer noch es6 nicht – Kraken