1.全局安装 npm install gulp -g
2.局部安装 npm install gulp --save-dev
3.相关插件:
gulp-concat:合并文件(css/js)
gulp-uglify:压缩js文件
gulp-rename:文件重命名
gulp-less:编译less
gulp-clean-css:压缩css
gulp-livereload:实时自动编译刷新 gulp-connect:热加载
3-1.下载插件:npm install gulp-concat gulp-uglify gulp-rename --save-dev
npm install gulp-less gulp-clean-css --save-dev
npm install gulp-htmlmin --save-dev
npm install gulp-livereload --save-dev
npm install gulp-livereload --save-dev npm install gulp-connect --save-dev
4.重要API:
gulp.src(globs[, options]) 找到指定路径的所有文件,返回文件流对象,读取文件。
gulp.dest(path[, options]) 指向指定的所有文件,用于输出文件。
gulp.task(name[, deps], fn) 定义一个任务。
gulp.watch(glob [, opts], tasks) 或 gulp.watch(glob [, opts, cb]) 监事文件变化。
5. 合并必须带名字,压缩再rename。
6. gulp.series /4.0 依赖 gulp.parallel /4.0 多依赖嵌套。
7.自动执行:gulp-livereload,保存后自动执行gulp命令。
gulp.task('watch',function(){
gulp.watch('src/less/*.less',gulp.series('less'))
gulp.watch('dist/*.css',gulp.series('css'))
gulp.watch('index.html',gulp.series('html'))
})
需在每一个任务后面都铺设管道 .pipe(livereload());
8.热加载:gulp-connect,浏览器自动刷新。
gulp.task('server',function(){
connect.server({
livereload:true,
port:999
})
})
需在每个任务后铺设 .pipe(connect.reload())
9 .series里的任务是顺序执行的,parallel里的任务是同时执行的。
gulp.task('default', gulp.series('clean', 'compass', gulp.parallel('image', 'style', 'html'), 'ftp'));