看视频所了解到的,正在进行摸索。
参考:https://www.cnblogs.com/2050/p/4198792.html这篇介绍gulp的文章非常棒,唯一有一点,页面随时刷新的目前还没实现,不知道是什么原因。
跟着例子敲的
var gulp = require('gulp');
var less = require('gulp-less');
var sass = require('gulp-sass');
var livereload = require('gulp-livereload');
var imagemin = require('gulp-imagemin');
var pngquant=require('imagemin-pngquant');
//图片压缩
gulp.task('img', function () {
gulp.src('img/*')
.pipe(imagemin({
progressive: true,
use: [pngquant()] //使用pngquant来压缩png图片
}))
.pipe(gulp.dest('dist/img'));
});
//gulp.task('default',['one','two','three'],function(){ //执行默认任务
// console.log('Hello world') //hello world 会在任务one two three三个任务执行完之后才执行
//})
/*
gulp.src("a.less")
.pipe(gulp.dest('dist')); gulp.task('one',function(){ //gulp.task(name[, deps], fn)
console.log('one is done')
})
gulp.task('two',function(){ //gulp.task(name[, deps], fn)
console.log('two is done')
}) gulp.task('three',function(){ //gulp.task(name[, deps], fn)
console.log('three is done')
}) gulp.task('default',['first','second'],function(){ //执行默认任务
console.log('Hello world') //此时的输出顺序为second Hello world 最后first two任务虽然依赖于one任务,但并不会等到one任务中的异步操作完成后再执行
})
gulp.task('first',function(){
setTimeout(function(){ //这是一个异步任务
console.log('first')
},1000)
})
gulp.task('second',['first'],function(){
console.log('second')
}) gulp.task('default',['first','second'],function(){ //执行默认任务
console.log('Hello world') //此时的输出顺序为second Hello world 最后first two任务虽然依赖于one任务,但并不会等到one任务中的异步操作完成后再执行
})
gulp.task('first',function(cb){
setTimeout(function(){ //这是一个异步任务
console.log('first')
cb();//执行回调,表示这个异步任务已经完成
},1000)
})
//这时second任务会在first任务中的异步操作完成后再执行
gulp.task('second',['first'],function(){
console.log('second')
}) //gulp watch监听
gulp.task('default',function(){ //执行默认任务
gulp.src("a.less")
.pipe(gulp.dest('dist'));
})
gulp.watch('*.less',function(event){
console.log(event.type)
console.log(event.path)
})
*/
//gulp.task('html', function () {
// gulp.src('index.html')
// .pipe(livereload())
//}); gulp.task('less', function () { //less方法
gulp.src('less/*.less')
.pipe(less())
.pipe(gulp.dest('dist/css'))
.pipe(livereload())
});
/*
gulp.task('sass', function () { //sass方法
gulp.src('sass/*.sass')
.pipe(sass())
.pipe(gulp.dest('dist/sass'))
});
*/
gulp.task('watch',function(file){ //watch方法监听less编译
livereload.listen(); //要在这里调用listen()方法
gulp.watch('less/*.less', ['less']); //监听的文件,方法
});
/*总结
* 1 gulp.src引入文件
* 2 .pipe()转成流的方式
* 3 gulp.dest 输出
* 4 gulp.task 任务
* 5 gulp.watch 监听
*/