我正在弄清楚 Gulp 是如何工作的,以下是一个示例任务,
function negativeGlobTest(){
return src(["./src/**/*.js", "!./src/pop/*.js", "./src/pop/twopac.js"])
.pipe(ugli())
.pipe(rename({extname : ".min.js"}))
.pipe(dest("./superOutput"))
}
这是我的“ls -lR src”的输出
src:
total 1
-rw-r--r-- 1 terminator 197121 395 Apr 5 14:31 index.js
drwxr-xr-x 1 terminator 197121 0 Apr 5 18:43 pop/
src/pop:
total 2
-rw-r--r-- 1 terminator 197121 133 Apr 5 18:30 mao.js
drwxr-xr-x 1 terminator 197121 0 Apr 5 14:30 pom/
-rw-r--r-- 1 terminator 197121 154 Apr 5 18:34 twopac.js
src/pop/pom:
total 1
-rw-r--r-- 1 terminator 197121 29 Apr 5 18:27 index.js
运行任务时遇到错误
Error: File not found with singular glob: C:/my-github-repo/master/src/pop/twopac.js (if this was purposeful, use `allowEmpty` option)
显然文件存在,我在这里做错了什么?
我认为 glob 应该首先匹配
src
中的所有文件,排除 pop 中以 js 结尾的所有文件,然后允许 pop 中的 twopac.js
。
文件已从流中删除,如何将其恢复到同一个流中,您必须使用
src()
显式将其添加回来,如下所示
function negativeGlobTest(){
return src(["./src/**/*.js", "!./src/pop/*.js"])
.pipe(src("./src/pop/twopac.js"))
.pipe(ugli())
.pipe(rename({extname : ".min.js"}))
.pipe(dest("./superOutput"))
}