gulp main-bower-files正则表达式过滤器不工作 [英] gulp main-bower-files regular expression filter not working
本文介绍了gulp main-bower-files正则表达式过滤器不工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
为什么第二个数组 bowerFiles
没有被过滤到JavaScript文件中。
var gulp = require('gulp');
var mainBowerFiles = require('main-bower-files');
$ b gulp.task('default',function(){
var unfiltered = mainBowerFiles();
console.log('unfiltered files:',unfiltered ); // 11文件
// var jsRegEx = / js $ / i; //试试这样...
var jsRegEx = new RegExp('js $',' i');
var bowerFiles = mainBowerFiles(jsRegEx);
console.log('bower files:',bowerFiles); // 11文件
});
我试图模仿bower-main-files在做什么 here ,它有效。 不需要创建 RegExp
来过滤 main-bower-files 。
确实,您只需传递数组或字符串来检查 .js
files:
gulp.task('default',function(){
var bowerFiles = mainBowerFiles('** / *。js');
console.log('bower files:',bowerFiles);
});
如果您确实想使用正则表达式,您必须使用过滤器
选项,您不能直接将其作为参数传递:
gulp.task('default ',function(){
var bowerFiles = mainBowerFiles({filter:new RegExp('。* js $','i')});
console.log('bower files:',bowerFiles );
});
Why is the second array, bowerFiles
, not filtered to just javascript files.
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
});
I have tried to mimic what bower-main-files is doing here, and it works.
解决方案
You don't need to create a RegExp
to filter for files with main-bower-files.
Indeed, you can simply pass an array or a string of glob to check only for .js
files:
gulp.task('default', function () {
var bowerFiles = mainBowerFiles('**/*.js');
console.log('bower files: ', bowerFiles);
});
If you really want to use the regex, you have to use the filter
option, you can't directly pass it as an argument:
gulp.task('default', function () {
var bowerFiles = mainBowerFiles({ filter: new RegExp('.*js$', 'i') });
console.log('bower files: ', bowerFiles);
});
这篇关于gulp main-bower-files正则表达式过滤器不工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文