如何使用 globs 不对文件执行操作? (Gulp)

How to use globs to not do an action on a file? (Gulp)

我将 gulp 与 gulp-if、gulp-babel 和 gulp-uglify 一起使用,我的目的是不 运行 babel 或 uglify 在缩小的 JS 文件上,因为缩小的文件都是 lib/vendor 不需要处理的文件。但是,它们确实需要移到新文件夹中。

这是我得到的:

.pipe($.if(!/(.min.js)/g,
  $.babel({
     presets: ['es2015']
  })
 ))
.pipe($.if(!/(.min.js)/g,
   $.uglify()
))

我认为上下文的其余部分不太重要,所以我将其省略。

我目前遇到的问题是表达式不起作用,我想我不清楚 gulp-if 的语法是如何工作的。

最好的方法是什么?

我想通了..

我用.pipe($.if(match,

替换了.pipe($.if(/.min.js/g,

然后创建匹配函数..

function match(file) {
    if (file.path.match(/.min.js/g)) {
        return false;
    } else {
        return true;
    }
}

现在它按预期工作了!

如果有 easier/better 方法,请告诉我!