es6转化
安装 gulp-babel
1
| npm install --save-dev gulp-babel babel-preset-es2015
|
配置 gulpfile.js
1
2
3
4
5
6
7
8
9
| const gulp = require('gulp');
const babel = require('gulp-babel');
gulp.task('default', function() {
return gulp.src('pages/index/index.js')
.pipe(babel({
presets: ['es2015']
}))
.pipe(gulp.dest('release/dist/js'));
});
|
依赖加载
安装 browserify
1
| npm install --global browserify
|
配置1 gulpfile.js
1
2
3
4
5
6
7
8
9
10
11
| glup.taks('browserify', function() {
browserify({
//先处理依赖,入口文件
entries: ['./foo.js','./main.js'],
//进行转化
transform: []
})
.bundle() // 多个文件打包成一个文件
.pipe(source()) // browserify的输出不能直接用做gulp输入,所以需要source进行处理
.pipe(gulp.dest('./'));
})
|
配置2 gulpfile.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| gulp.task('browserify',()=> {
browserify({
entries: ['src/js/main.js','src/js/foo.js'],
debug: true, // 告知Browserify在运行同时生成内联sourcemap用于调试
})
.transform("babelify", {presets: ["es2015"]})
.bundle()
.pipe(source('bundle.js'))
.pipe(buffer()) // 缓存文件内容
.pipe(sourcemaps.init({loadMaps: true})) // 从 browserify 文件载入 map
.pipe(sourcemaps.write('.')) // 写入 .map 文件
.pipe(gulp.dest('dist/js'))
.pipe(notify({ message: 'browserify task complete' }));
})
|
参考文
npm
https://www.npmjs.com/package/gulp-babel/
https://github.com/floridoo/gulp-sourcemaps
es6语法 - 阮一峰 - ECMAScript 6
http://es6.ruanyifeng.com/
gulp模块化实践
https://github.com/chenbin92/ES6-with-gulp-build