Gulp:如何查看 glob 的文件名

标签 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());

最佳答案

虽然肯定有更清洁的解决方案,但当我不想为 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()。

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

关于Gulp:如何查看 glob 的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26011168/

相关文章:

javascript - 当源文件夹中有多个jade文件时,gulp-jade仅构建一个HTML文件

javascript - Gulp 找到我的 Bower 组件并将它们连接起来

node.js - 如何在 NodeJS 中包含多个带有 'glob.sync' 的文件扩展名?

node.js - 双扩展名文件的通配

javascript - gulp 浏览器同步只打开 chrome

javascript - 如何使用 Gulp 通过 SSH 复制文件夹?

javascript - 我应该在 UnCSS 插件上忽略什么字符串才能使 Foundation 6 的响应式菜单正常工作?

javascript - 如果文件丢失,如何使 Gulp.src 失败?

node.js - Node glob 模式包括除某些文件夹之外的所有 js