首页 > gulp 怎么查看匹配到了哪些文件 ?

gulp 怎么查看匹配到了哪些文件 ?

我想用

gulp.src('./src/**/*.*')

匹配src目录里面的所有文件 , 然后判断文件后缀名 , 是css的话就压缩css , js的话就压缩js , html就压缩html , 其他文件就直接复制到其他目录 .

问题是 : 我无法判断后缀名 , 因为我不知道怎么获取匹配到了哪些文件以及它们的文件名 ..


推荐一个node插件through2

gulp中可以这样使用:
var through2 = require('through2');
// ...

gulp.src('/src/**/*.*)
.pipe(through2.obj(function (file, enc, cb) {

console.log(file.relative); // 文件路径
// 然后可以判断file的后缀,进行相应的任务
// if (extension === '.css') {
//    css task
// } else if (extension === '.js') {
//    js task
// }
cb();

}))
.pipe(/* other tasks*/);


谢谢大家 , 我已经找到答案了 , 并且写一片博文 :
gulp 怎么查看匹配到了哪些文件
http://w3cc.cc/2016/05/27/gulp-how-to-read-file-name/


这样的话可以把每个步骤拆分成多个task,然后在运行时候依次运行就好了,最好是针对一种文件(html,css,js)单独一个任务吧,也方便扩展,或者随时替换或删除task。


你这个需求应该分别作不同的任务,而不应该做在同一个任务里面,譬如:

gulp.task('js', function(){
    gulp
    .src('./src/**/*.js')
    .pipe(uglify())
    .pipe(gulp.dest('目标目录'));
});

gulp.task('css', function(){
    gulp
    .src('./src/**/*.js')
    .pipe(minify())
    .pipe(gulp.dest('目标目录'));
});

这样也更好维护啊

【热门文章】
【热门文章】