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')) })
前端工程师、程序员