joken-前端工程师

  :: 首页 :: 博问 :: 闪存 :: 新随笔 :: :: :: 管理 ::
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'))
})  
posted on 2017-04-13 22:30  joken1310  阅读(4817)  评论(0编辑  收藏  举报