记录下学习过程使用gulp的一些经验css
|-- project |-- child-project |-- src |-- html |-- less |-- js |-- img |-- dist |-- html |-- css |-- js |-- img
- 在
project
任意子目录下修改less
文件后自动编译在对应项目文件夹的css
文件夹下- 在
project
任意子目录下修改html、js、less文件后都自动刷新浏览器2017-12-14html
- 增长了压缩文件的需求,须要将src中的js文件/img/css文件进行压缩,压缩至dist文件夹下
- 增长了检查js代码
//编译与刷新浏览器 //导入工具包 var gulp = require('gulp'), less = require('gulp-less'), browserSync = require('browser-sync').create(), browserReload = browserSync.reload, rename = require('gulp-rename'); //定义less编译任务 gulp.task('lessCompile', function() { gulp.src('./project/**/*.less') //该任务针对的文件 .pipe(less())//该任务调用的模块 .pipe(rename(function(path) { return path.dirname = path.dirname.replace('less', 'css'); })) .pipe(gulp.dest('./project')) .pipe(browserReload({stream: true})); }); //监听 本地 less/html/js 文件 gulp.task('serve', function(){ //监听本地文件 browserSync.init({ server: { baseDir: "./project", directory: true } }); //监听less gulp.watch("./project/**/*.less", ['lessCompile']); //监听html gulp.watch("./project/**/*.html").on('change', browserReload); //监听js gulp.watch("./project/**/*.js").on('change', browserReload); }); //定义默认任务 gulp.task('default', ['serve']);
//代码检查和压缩 gulp.task('jsHint', function() { gulp.src(['./project/**/*.js', '!./project/**/dist/**/*.js'])//检查的文件,忽略dist中的js文件 .pipe(jshint(jshintConfig))//检查 .pipe(jshint.reporter('default')); // 输出检查结果 }); //定义js压缩任务(css与img同此,更换插件便可) gulp.task('jsmin', function() { gulp.src(['./project/**/*.js', '!./project/**/dist/**/*.js'])//压缩的文件,忽略dist中的js文件 .pipe(uglify())//压缩 //.pipe(rename({suffix:'.min'}))//增长min后缀 .pipe(rename(function(path) { return path.dirname = path.dirname.replace('src', 'dist'); }))//压缩至dist文件夹 .pipe(gulp.dest('./project')); });
http://www.cnblogs.com/2050/p...,src与dest的路径学习参考此文
http://www.ydcss.com/archives/18 gulp的详细入门指南
http://blog.csdn.net/u0137205... jshint的参数的配置