1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
| var gulp = require('gulp'), sass = require('gulp-sass'), minifyCss = require('gulp-minify-css'), plumber = require('gulp-plumber'), babel = require('gulp-babel'), uglify = require('gulp-uglify'), clearnHtml = require("gulp-cleanhtml"), imagemin = require('gulp-imagemin'), copy = require('gulp-contrib-copy'), browserSync = require('browser-sync').create(), reload = browserSync.reload; // 定义源代码的目录和编译压缩后的目录 var src='tpl_src', dist='tpl';
// 编译全部scss 并压缩 gulp.task('css', function(){ gulp.src(src+'/**/*.scss') .pipe(sass()) .pipe(minifyCss()) .pipe(gulp.dest(dist)) })
// 编译全部js 并压缩 gulp.task('js', function() { gulp.src(src+'/**/*.js') .pipe(plumber()) .pipe(babel({ presets: ['es2015'] })) .pipe(uglify()) .pipe(gulp.dest(dist)); });
// 压缩全部html gulp.task('html', function () { gulp.src(src+'/**/*.+(html)') .pipe(clearnHtml()) .pipe(gulp.dest(dist)); });
// 压缩全部image gulp.task('image', function () { gulp.src([src+'/**/*.+(jpg|jpeg|png|gif|bmp)']) .pipe(imagemin()) .pipe(gulp.dest(dist)); });
// 其他不编译的文件直接copy gulp.task('copy', function () { gulp.src(src+'/**/*.!(jpg|jpeg|png|gif|bmp|scss|js|html)') .pipe(copy()) .pipe(gulp.dest(dist)); });
// 自动刷新 gulp.task('server', function() { browserSync.init({ proxy: "tbjyadmin.com", // 指定代理url notify: false, // 刷新不弹出提示 }); // 监听scss文件编译 gulp.watch(src+'/**/*.scss', ['css']);
// 监听其他不编译的文件 有变化直接copy gulp.watch(src+'/**/*.!(jpg|jpeg|png|gif|bmp|scss|js|html)', ['copy']);
// 监听html文件变化后刷新页面 gulp.watch(src+"/**/*.js", ['js']).on("change", reload);
// 监听html文件变化后刷新页面 gulp.watch(src+"/**/*.+(html|tpl)", ['html']).on("change", reload);
// 监听css文件变化后刷新页面 gulp.watch(dist+"/**/*.css").on("change", reload); });
// 监听事件 gulp.task('default', ['css', 'js', 'image', 'html', 'copy'])
|