Gulp:我如何看到我的glob的文件名

时间:2014-09-24 07:36:45

标签: gulp node-glob

在Gulp中,我有一个我要验证的glob模式。例如:

gulp.task('clean-requirejs', function() {
    return gulp.src([
        './public/res-min/**/*.js'
    ])
        .pipe(clean());
});

我想看看如何扩展glob ['./public/res-min/**/*.js']。如何打印在此示例中由gulp.src生成的参数/文件列表?

更新:原来有一个非常简单的gulp-print可以解决这个问题:

var print = require('gulp-print').default;


[....]

.pipe(print());

2 个答案:

答案 0 :(得分:4)

虽然有一些更清晰的解决方案,但当我不想打扰安装任何新软件包的npm时,我使用以下功能:

var through2 = require('through2');

function logFile(msg, lines) {
  lines = lines || 5;

  return through2.obj(function(file, enc, done) {
    console.log('logFile ' + msg);
    console.log(file.path);
    console.log(file.contents.toString().split('\n').splice(0,lines).join('\n'))
    this.push(file);
    done();
  });
}

然后,在你的任务中

return gulp.src('...').pipe(logFile('name-of-task',5)).pipe(...)

重要的部分是你调用this.push(file)和done()。

可能有些库可以做同样的事情。

答案 1 :(得分:0)

原来Gulp-Debug适合这种情况。

示例:

$ npm install --save-dev gulp-debug

var debug = require('gulp-debug');


gulp.task('clean-requirejs', function() {
    return gulp.src([
        './public/res-min/**/*.js'
    ])
    .pipe(debug())
    .pipe(clean());
});