gulp 配置达到实现import export支持

时间:2021-09-20 04:26:09
gulp.task('tojs', () => {
return gulp.src('./es/**/*.js')
.pipe(babel({
babelrc: false,
plugins: ['transform-es2015-modules-commonjs']
}))
.pipe(gulp.dest('.rjs'))
.on('end',()=>{
gulp.run('toes6')
});
});

  思路是先实现所有有写import export语法的js文件都编译成require语法的js文件,然后再如下编译

gulp.task('toes6', () => {
gulp.src('./.rjs/index.js') //把已经require化的所有js文件的入口文件index.js 进行 browserify 处理和 babel处理 ,最终实现对es6语法的编译
.pipe(browserify({
insertGlobals: true,
debug: !gulp.env.production,
ignore: ['jquery-3.2.1.min.js']
}))
.pipe(babel({
babelrc: false,
presets: ['es2015', 'es2016', 'es2017', 'stage-0', 'react'],
plugins: ['transform-decorators-legacy']
}))
.pipe(uglify())
.pipe(gulp.dest('js'))
})