Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按文件名使用填充图案排除文件_Javascript_Gulp - Fatal编程技术网

Javascript 按文件名使用填充图案排除文件

Javascript 按文件名使用填充图案排除文件,javascript,gulp,Javascript,Gulp,我想用gulp排除包含“.fixtures.js”、“.mocks.js”或“.tests.js”的文件。例如,我有: client/js/app.js client/js/modules/services/myservice.js client/js/modules/services/tests/myservice.tests.js client/js/modules/directives/mydirective.js client/js/modules/services/tests/my

我想用gulp排除包含“.fixtures.js”、“.mocks.js”或“.tests.js”的文件。例如,我有:

client/js/app.js  
client/js/modules/services/myservice.js
client/js/modules/services/tests/myservice.tests.js
client/js/modules/directives/mydirective.js
client/js/modules/services/tests/mydirective.tests.js
client/js/modules/tests/global.mocks.js
client/js/modules/tests/global.fixtures.js
如何在不手动执行以下操作的情况下排除所有这些问题:

gulp.src([
   'client/js/**/*.js',
   '!client/js/**/*.tests.js',
   '!client/js/**/*.fixtures.js',
   '!client/js/**/*.mocks.js',
])
.pipe(doSomething())

本质上是一个复制品


看起来像你想要的。

你能解释一下你的解决方案有什么问题吗?因为我使用相同的模式排除文件。有什么我可以像“!client/js/*(tests | | mocks | | | | fixtures)。js”这样做吗?当我这样做时,它会工作,但如果我这样做的话!client/js/***.(tests | mocks | fixtures).js“它不工作。它一直包含那些文件可能它必须是
”!client/js/**(*.tests.js |*.mocks.js |*.fixtures.js)
这样就不用嵌套globs了。如果我们也必须取消对client/js/**的测试,那么基本上就回到了原始状态。
gulp.src([ 'client/js/**/!(*.tests|*.fixtures|*.mocks)*.js' ])