gulp main-bower-files正则表达式过滤器不起作用

use*_*757 5 javascript regex node.js bower gulp

为什么第二个数组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

});
Run Code Online (Sandbox Code Playgroud)

我试图模仿什么亭子,主文件是做在这里,和它的作品.

Bal*_*zar 10

您无需RegExp为包含main-bower-files的文件创建过滤器.

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

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

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

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