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文件,而後再以下編譯javascript
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')) })