参考链接:https://markpop.github.io/2014/09/17/Gulp%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B/
// gulpfile.js
var gulp = require('gulp');
var less = require('gulp-less');
var sass = require('gulp-sass');
var minifycss = require('gulp-minify-css');
var uglify = require('gulp-uglify');
var imagemin = require('gulp-imagemin');
var del = require('del');
var livereload = require('gulp-livereload');
var plumber = require('gulp-plumber');
//html
gulp.task('html', function() {
return gulp.src('app/**/*.html')
.pipe(gulp.dest('dist'));
});
//css
gulp.task('css', function() {
return gulp.src('app/**/*.css')
.pipe(minifycss())
.pipe(gulp.dest('dist'));
});
//less
gulp.task('less', function() {
return gulp.src('app/**/*.less')
.pipe(plumber()) //防止watch时less出错而停止监视
.pipe(less())
.pipe(minifycss())
.pipe(gulp.dest('dist'));
});
//sass
gulp.task('sass', function() {
return gulp.src('app/**/*.scss')
.pipe(sass().on('error', sass.logError))
.pipe(minifycss())
.pipe(gulp.dest('dist'));
});
//js
gulp.task('js', function() {
return gulp.src('app/**/*.js')
.pipe(uglify())
.pipe(gulp.dest('dist'));
});
//bootstrap
gulp.task('bootstrap', function() {
return gulp.src('app/bootstrap/**/*')
.pipe(gulp.dest('dist/bootstrap'));
});
//simditor
gulp.task('simditor', function() {
return gulp.src('app/simditor/**/*')
.pipe(gulp.dest('dist/simditor'));
});
//img
gulp.task('img', function() {
return gulp.src('app/img/**/*')
.pipe(imagemin())
.pipe(gulp.dest('dist/img'));
});
//del
gulp.task('del', function(cb) {
del(['dist/*'], cb);
});
//default
gulp.task('default', ['bootstrap', 'simditor', 'img', 'html', 'css', 'less', 'sass', 'js']);
//watch
gulp.task('watch', function() {
livereload.listen();
gulp.watch('app/**/*.html', ['html']).on('change', livereload.changed);
gulp.watch('app/**/*.less', ['less']).on('change', livereload.changed);
gulp.watch('app/**/*.scss', ['sass']).on('change', livereload.changed);
gulp.watch('app/**/*.js', ['js']).on('change', livereload.changed);
});