Gulp:限制文件处理并发性; 避免同时处理*所有文件*

我有一个的图像列表(2874),需要用gulp-imagemin进行优化,但是操作系统显然限制了打开文件的数量。 我可以用ulimit来改变它,但是考虑到文件数量,它并不感觉特别便携,也不安全。

这是我现在的代码:

 function optimizeImages() { return gulp.src('images/*') .pipe(imagemin()) .pipe(gulp.dest(dest)); } 

有没有办法一次运行一个文件的子集的插件? 喜欢这个

 function exampleTask() { return gulp.src('images/*') .pipe(limitConcurrency(imagemin(), 50)) .pipe(gulp.dest(dest)); } 

事实certificate, Gulp已更新,以解决错误Error: EMFILE, too many open files最近Error: EMFILE, too many open files但我还没有更新。 现在并发问题自动解决!

我只是在我的项目文件夹中运行这个:

 npm update gulp