1.注册任务的时候遍历某个目录下的所有js文件
1 //注册 合并压缩js 的任务 2 gulp.task('js', functon (){ 3 return gulp.src('src/js/*.js')//找到目标源文件, 将数据读取到gulp的内存中 4 });
2. 深度遍历目录下的所有js文件
1 1 //注册 合并压缩js 的任务 2 2 gulp.task('js', functon (){ 3 3 return gulp.src('src/js/**/*.js') // 这一行会把src/js下面的所有目录里面的所有js文件匹配到(比如src/js/temp.js, src/js/func1/func2/func3/test.js等) 4 4 });
3.练习--合并压缩重命名JS文件
1 const gulp = require('gulp'); 2 const concat = require('gulp-concat'); 3 const uglify = require('gulp-uglify'); 4 const rename = require('gulp-rename'); 5 6 gulp.task('js',function(){ 7 return gulp.src('src/js/*.js')//找到目标文件 将数据读取到gulp的内存中 8 .pipe(concat('build.js')//合并文件 9 .pipe(gulp.dest('./dist/js/'))//临时输出文件到本地 10 .pipe(uglify()) //压缩文件 11 .pipe(rename({suffix:'.min'}))//重命名 12 //.pipe(rename('build.min.js'))//或者是这样直接写好文件名来重命名 13 .pipe(gulp.dest('./dist/js/')) //输出最终文件 14 })
4. gulp任务是异步执行的, 但是有的任务需要依赖一些前置任务, 比如合并压缩css文件之前 需要将less之类的文件先转化为css,输出到指定的css目录, 这样所有的less转换为css后才能执行css的合并压缩,这个时候需要解决任务之间的依赖关系
1 gulp.task('css',['less'],function(){//第二个参数是依赖的前置任务名称 只有这些任务执行完了 才会开始执行css任务 2 return gulp.src('src/css/*.css') 3 .pipe(concat('build.css')) 4 .pipe(rename({suffix:'min'}) 5 .pipe(cssClean({compatibility:'ie8'})) 6 .pipe(gulp.dest('dist/css/')) 7 });