Hier ist meine Schluckaufgabe, meinen ES6-Code in eine einzige ES5-Datei zu kompilieren. Ich verwende Klassen und Module (import
, export
) in ES6.Verwenden von Babel mit einer einzigen Ausgabedatei und ES6-Modulen
gulp.src(paths.scripts)
.pipe(sourcemaps.init())
.pipe(babel({
presets: ['es2015']
}))
.pipe(concat('all.js'))
.pipe(sourcemaps.write('.'))
.pipe(gulp.dest('./www/js'));
Da jedoch Babel ES6 import
Richtlinien in require
Befehle kompiliert und require
wird versuchen, eine Datei anzufordern, die Anforderungsdateien fehlschlagen, weil alle ES5-Code in eine Datei concatted wird, all.js.
Das Ergebnis ist eine Reihe von "Fehler: Kann Modul nicht finden" Fehler. Wie kann ich Module zusammenstellen, die funktionieren, wenn sie alle in einer einzigen Datei gespeichert sind?
Sieht aus wie das nicht mehr funktioniert (siehe auch [diese Antwort] (http://stackoverflow.com/questions/31873235/gulp-concat-and-require-path/33280669#33280669)) ohne etwas wie Browserify . Da es so aussieht, als wollten Sie den Code im Browser ausführen, sollten Sie sich das trotzdem ansehen :-) – robertklep