使用gulp排除名为node_module的任何目录中的所有文件

Joe*_*ger 1 gulp

我有一个嵌套node_module目录的目录结构.

root
    node_modules
    file.txt
    test
        node_modules
        file.txt
Run Code Online (Sandbox Code Playgroud)

我想生成:

root
    file.txt
    test
        file.txt
Run Code Online (Sandbox Code Playgroud)

glob模式正在逃避我.

我正在使用

gulp.src(['**/*', '!(**/*/node_modules)'])
Run Code Online (Sandbox Code Playgroud)

Sve*_*ung 5

以下内容排除了所有文件node_modules夹中的所有文件:

gulp.src(['**/*', '!**/node_modules/**'])
Run Code Online (Sandbox Code Playgroud)

但是,这仍然包括node_modules文件夹本身.我们需要单独排除这些:

gulp.src(['**/*', '!**/node_modules/**', '!**/node_modules'])
Run Code Online (Sandbox Code Playgroud)

最后我们可以通过使用大括号扩展来缩短上述内容:

gulp.src(['**/*', '!**/node_modules{,/**}'])
Run Code Online (Sandbox Code Playgroud)