gulp main-bower-files 正则表达式过滤器不工作
gulp main-bower-files regular expression filter not working
为什么第二个数组 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,而且它有效。
您不需要创建 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);
});
为什么第二个数组 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,而且它有效。
您不需要创建 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);
});