Ecco il mio compito di gulp per compilare il mio codice ES6 in un singolo file ES5. Uso classi e moduli (import
, export
) in ES6.Utilizzo di Babel con un singolo file di output e moduli ES6
gulp.src(paths.scripts)
.pipe(sourcemaps.init())
.pipe(babel({
presets: ['es2015']
}))
.pipe(concat('all.js'))
.pipe(sourcemaps.write('.'))
.pipe(gulp.dest('./www/js'));
Tuttavia, poiché Babel compila ES6 import
direttive in require
comandi e require
tenterà di richiedere un file, i file di richiesta stanno fallendo perché tutto il codice ES5 è concatted in un unico file, all.js.
Il risultato è un mucchio di errori "Errore: impossibile trovare il modulo". Come posso compilare moduli che funzionano quando sono tutti salvati in un singolo file?
Sembra che questo non funzioni più (si veda anche [questa risposta] (http://stackoverflow.com/questions/31873235/gulp-concat-and-require-path/33280669#33280669)) senza qualcosa come Browserify . Tuttavia, dal momento che sembra che tu abbia intenzione di eseguire il codice nel browser, dovresti comunque dare un'occhiata a questo :-) – robertklep