Gulp 如何修复“多次调用写回调”

qyzbxkaa  于 2022-12-08  发布在  Gulp
关注(0)|答案(4)|浏览(256)

我突然遇到了一个我不理解的错误,这个错误之前运行的很好。我没有在我的gulpfile.js中修改任何东西,所以我不明白是什么导致了这个错误。有人能告诉我吗?
这是我得到的错误:

Error: write callback called multiple times
    at DestroyableTransform.afterTransform (/Users/hannah/Documents/random projects/salamander/node_modules/readable-stream/lib/_stream_transform.js:84:31)
    at EventEmitter.signals.on.err (/Users/hannah/Documents/random projects/salamander/node_modules/gulp-cache/lib/index.js:451:7)
    at EventEmitter.emit (events.js:198:13)
    at DestroyableTransform.onError (/Users/hannah/Documents/random projects/salamander/node_modules/gulp-cache/lib/index.js:288:15)
    at Object.onceWrapper (events.js:286:20)
    at DestroyableTransform.emit (events.js:203:15)
    at Immediate.<anonymous> (/Users/hannah/Documents/random projects/salamander/node_modules/through2-concurrent/through2-concurrent.js:37:14)
    at runCallback (timers.js:706:11)
    at tryOnImmediate (timers.js:676:5)
    at processImmediate (timers.js:658:5)
Emitted 'error' event at:
    at DestroyableTransform.onerror (/Users/hannah/Documents/random projects/salamander/node_modules/vinyl-fs/node_modules/readable-stream/lib/_stream_readable.js:558:12)
    at DestroyableTransform.emit (events.js:198:13)
    at DestroyableTransform.afterTransform (/Users/hannah/Documents/random projects/salamander/node_modules/readable-stream/lib/_stream_transform.js:84:17)
    at EventEmitter.signals.on.err (/Users/hannah/Documents/random projects/salamander/node_modules/gulp-cache/lib/index.js:451:7)
    [... lines matching original stack trace ...]
    at runCallback (timers.js:706:11)
sd2nnvve

sd2nnvve1#

如果其他人遇到此问题:
我发现这个错误来自我的图像缩小任务(gulp-imagemin)。我的图像文件夹中有一些SVG文件,我认为它们的结构不正确。我从图像文件夹中删除了它们,然后gulp又开始运行了。

xkftehaa

xkftehaa2#

这实际上是由于我们使用了imagemin的插件沿着缓存。
请运行此npm rebuild jpegtran-bin这将重置它,并再次运行您的gulp任务注解!
谢谢你的好意。

z8dt9xmd

z8dt9xmd3#

在我的例子中,它是用**imagemin.gifsicle()**和一个大的动画gif文件(57Mb)优化的。用PhotoShop重新保存图像没有帮助。我不确定问题的根源,但是删除文件解决了问题。

wz8daaqr

wz8daaqr4#

我的问题是一个愚蠢的问题...我正在使用through2来管道和替换我的文件的内容,并将其 Package 为一个函数。嗯,这个函数试图console.log一个变量,而这个变量从未在调用它的逻辑分支中定义过。
所以,是的,错误消息让我看得比我需要的更深,因为我会期望一个未定义的类型错误,而不是我得到的“多次调用写回调”。

相关问题