Jam*_*mie 7 javascript ecmascript-5 ecmascript-6 babeljs
这是将我的ES6代码编译成单个ES5文件的gulp任务.我在ES6中使用类和模块(import,export).
gulp.src(paths.scripts)
.pipe(sourcemaps.init())
.pipe(babel({
presets: ['es2015']
}))
.pipe(concat('all.js'))
.pipe(sourcemaps.write('.'))
.pipe(gulp.dest('./www/js'));
Run Code Online (Sandbox Code Playgroud)
但是,因为Babel将ES6 import指令编译成require命令,并且require将尝试请求文件,所以请求文件失败,因为所有ES5代码都被连接到一个文件all.js.
结果是一堆"错误:无法找到模块"错误.如何编译在单个文件中保存的模块?