gulp:只获得匹配(glob)而不是管道中的文件名

时间:2015-06-17 13:09:40

标签: javascript node.js gulp filenames case-sensitive

我有一个gulp任务可以接受参数,特别是参数" - 只有{filename.ext}"。

问题是,如果它是,例如--only fOObaR.jade它也匹配名为foobar.jade的文件,这没关系。

然后它通过管道而不是匹配的(和右侧的)fOObaR传递foobar,从而产生一个名为fOObaR.html的HTML文件。

有什么方法可以获取匹配的文件名,而不是我通过gulp.src()的文件名?

我已经尝试gulp-tap而没有运气。

我想的是:

  1. 事先从源目录中获取所有文件
  2. 过滤那些不符合特定条件的文件
  3. 开始任务
  4. 开始gulp-tap
  5. 浏览我们之前已经获得的所有文件
  6. 如果给定文件与其中一个匹配,请从列表中返回文件以获取正确的文件名
  7. 试着让它现在起作用。如果有人有有用的提示或更好的方法,请告诉我! =)

    这是我的任务,简化(并希望有帮助):

    var gulp = require('gulp');
    var jade = require('gulp-jade');
    var args = require('yargs').argv;
    
    gulp.task('html', function () {
      var source = [];
      var sourceGlob = '*.jade';
      var only = args.only || '';
    
      if (only.indexOf('.jade') > -1) {
        sourceGlob = only;
      }
    
      source.push(paths.src.views + '/**/' + sourceGlob);
    
      return gulp.src(source)
        .pipe(jade({ pretty: true }))
        .pipe(gulp.dest(paths.dest.views));
    });
    

0 个答案:

没有答案