全局匹配,排除所有JS文件

时间:2014-05-09 05:36:40

标签: node.js pattern-matching glob gulp

我是gulp.js的新用户。我想将所有非javascript文件移动到构建目录中。我现在得到的是:

//Test copy
gulp.task('test-copy', function() {
    gulp.src(['myProject/src/**/*.!(js|map|src)'])
        .pipe(gulp.dest('myProject/build'));
});


//Results for various files
myProject/css/style.css //Copied - GOOD
myProject/html/index.html //Copied - GOOD
myProject/js/foo.js //Not Copied - GOOD
myProject/js/bar.min.js //Copied - BAD!
myProject/js/jquery-2.0.3.min.js //Copied - BAD!
myProject/js/jquery-2.0.3.min.map //Copied - BAD!

正如您所看到的,它只在文件路径字符串中的第一个点之后匹配,而不是在我想要的最后一个点之后匹配。如何修改glob搜索字符串以按照我的意愿行事?

1 个答案:

答案 0 :(得分:119)

试试这个glob模式:

myProject/src/**/!(*.js|*.map|*.src)