Tag: glob

node.js glob模式用于排除多个文件

我正在使用npm模块节点glob 。 这段代码recursion地返回当前工作目录中的所有文件。 var glob = require('glob'); glob('**/*', function(err, files) { console.log(files); }); 样本输出: [ 'index.html', 'js', 'js/app.js', 'js/lib.js' ] 我想排除index.html和js / lib.js。 我试图用负模式排除这些文件'!' 但没有运气。 有没有办法通过使用模式来实现这一点?

Glob / minimatch:如何gulp.src()的一切,然后排除文件夹,但保留一个文件

我有这样一个项目: root |-incl1 |-incl2 |- … |-excl1 |-excl2 |- .gitignore <– keep this one |- (other files) <– exclude them 我需要编写gulp.src() ,它将包含除excl1和excl2之外的所有文件夹, 但保留.gitignore文件。 这是我的代码不起作用: gulp.src([ baseDir + '/**', '!' + baseDir + '/{excl1, excl1/**}' '!' + baseDir + '/excl2/{**, !.gitignore}' // <– doesn't work ], {dot: true})

除.spec.js之外的每个.js文件的节点glob模式

我正在寻找一个更好的glob模式usemin,我想find所有的.js文件,但排除.spec.js文件。 到目前为止,我有以下解决scheme。 <script src="components/**/*(.js|!(*.spec.js|*.scss))"></script> 我现在的解决scheme要求我不断添加文件扩展名来排除它们,否则会被拿起来,例如.html文件。 我试图让它只能find.js文件,并从他们排除.spec.js ,但似乎并没有工作。 另外添加!components/**/*.spec.js作为下面的另一个脚本似乎不工作。

咕噜(minimatch / glob)文件夹排除

我有一个情况,我试图用grunt来删除一个代码库,不包括特定的文件夹。 咕噜使用minimatch(类似于bsdglob)在引擎盖下匹配文件,但我似乎无法弄清楚如何做一个.gitignore风格排除一个文件夹。 我想要摄取这个: ignoreme 并匹配这些: /folder/path/here/to/something/ok.js /another/folder/path.js /test.js 但不匹配这些: /folder/ignoreme/something.js /folder/path/here/to/ignoreme/metoo/file.js 这将匹配一切,包括忽略: /**/*.js 所以我想我可以做一些事情: /**/!(ignoreme)/**/*.js 但是匹配ignoreme文件夹中的文件。 我习惯了正则expression式,但似乎无法弄清楚如何在这里重复模式或东西 – 我也尝试过这样的东西: /(!(ignoreme)|*)*/*.js 希望容器可以重复,但是这不起作用,它只是没有匹配所有的东西。 任何方式来传递一个正则expression式grunt文件path,或使这对我工作? 更新: 以下是我目前正在处理的问题: var pattern = /\/ignoreme\// var files = grunt.file.expandFiles(arrayOfFilesPassedToMinimatch).filter(function(f){ return !pattern.test(f) }) 我仍然有兴趣,如果文件夹排除可能在minimatch。