【问题标题】:gulp main-bower-files regular expression filter not workinggulp main-bower-files 正则表达式过滤器不起作用
【发布时间】:2015-02-26 18:12:00
【问题描述】:

为什么第二个数组 bowerFiles 没有被过滤为仅 javascript 文件。

var gulp = require('gulp');
var mainBowerFiles = require('main-bower-files');

gulp.task('default', function () {

  var unfiltered = mainBowerFiles(); 
  console.log('unfiltered files:', unfiltered); // 11 FILES

  //var jsRegEx = /js$/i; // tried this way too...
  var jsRegEx = new RegExp('js$', 'i');
  var bowerFiles = mainBowerFiles(jsRegEx);
  console.log('bower files:', bowerFiles); // 11 FILES

});

我试图模仿 bower-main-files 正在做什么 here,并且它有效。

【问题讨论】:

    标签: javascript regex node.js gulp bower


    【解决方案1】:

    您无需创建RegExp 来过滤带有main-bower-files 的文件。

    确实,您可以简单地传递一个数组或一个 glob 字符串来仅检查 .js 文件:

    gulp.task('default', function () {
      var bowerFiles = mainBowerFiles('**/*.js');
      console.log('bower files: ', bowerFiles);
    });
    

    如果你真的要使用正则表达式,你必须使用filter选项,你不能直接将它作为参数传递:

    gulp.task('default', function () {
      var bowerFiles = mainBowerFiles({ filter: new RegExp('.*js$', 'i') });
      console.log('bower files: ', bowerFiles);
    });
    

    【讨论】:

    • 我正在尝试这个并得到` Invalid glob argument: [object Object]` gulp.src(mainBowerFiles('**/*.js'))
    猜你喜欢
    • 1970-01-01
    • 2017-02-19
    • 2016-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-27
    • 2016-10-27
    相关资源
    最近更新 更多