node.js – 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));
}

最佳答案 事实证明,
Gulp was updated修复错误错误:EMFILE,最近打开的文件太多,但我还没有更新.现在并发问题自动解决了!

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

npm update gulp
点赞