'use strict';
/**
* 1. 构建JS文件
* • 编译JS
* • 压缩JS
* 2. 监听JS文件变化并及时编译
*/
var config = require("./conf");
var path = require("path");
var gulp = require("gulp");
var rimraf = require("rimraf");
var $ = require("gulp-load-plugins")();
/**
* 构建JS文件
*/
gulp.task("js:build", ["js:clean"], function(){
gulp.src(config.paths.srcJs)
.pipe($.babel({
presets: ['es2015']
}))
.pipe($.if(config.system.compressed, $.uglify()))
.pipe(gulp.dest(config.paths.build));
});
/**
* 清除已构建的JS文件
*/
gulp.task("js:clean", function(cb){
rimraf(config.paths.buildJs, cb);
});
/**
* 1. 监听JS文件变化并及时重构
* 2. 重启静态服务器
*/
gulp.task("js:watch", function(){
gulp.watch(config.paths.srcJs, function(){
$.runSequence("js:build", "serve:reload");
});
});
/**
* 定义对外暴漏的任务名
*/
gulp.task("js", ["js:build", "js:watch"]);