我有一组 ~18,000 个 jpg 文件需要优化/重新压缩。
我尝试了几乎所有的 gulp 图像优化插件,并且每个插件在某些时候都会给出一个错误,并且没有建议是什么文件是它的原因。以下是gulp-image-resize
结尾:
事件.js:141 投掷者;// 未处理的“错误”事件 ^ 错误:错误:命令失败:gm 识别:没有此图像格式的解码委托 (/var/folders/ns/85cnwvcx5ysb7jzr8hh_k4r80000gn/T/gmROZu8m)。 gm identify:请求未返回图像。 完成时(/Users/mvasin/Sites/process images/node_modules/gulp-gm/index.js:40:21) 在通用汽车 (/Users/mvasin/Sites/process images/node_modules/async/lib/async.js:485:30) 在 emitMany (events.js:108:13) 在 gm.emit (events.js:182:7) 在通用汽车 (/Users/mvasin/Sites/process images/node_modules/gm/lib/getters.js:70:16) 在 cb (/Users/mvasin/Sites/process images/node_modules/gm/lib/command.js:318:16) 在 ChildProcess.proc.on.onExit (/Users/mvasin/Sites/process images/node_modules/gm/lib/command.js:293:9) 在 emitTwo (events.js:87:13) 在 ChildProcess.emit (events.js:172:7) 在可能关闭(内部/child_process.js:817:16)
这是gulp-gm
蓝屏:
事件.js:141 投掷者;// 未处理的“错误”事件 ^ 错误:流产生空缓冲区 在套接字。(/Users/mvasin/Sites/process images/node_modules/gm/lib/command.js:57:17) 在 emitNone (events.js:72:20) 在 Socket.emit (events.js:166:7) 在 endReadableNT (_stream_readable.js:893:12) 在 doNTCallback2 (node.js:429:9) 在 process._tickCallback (node.js:343:17) a228:处理图像 mvasin$ gulp GraphicsMagick
gulp-responsive
:
事件.js:141 投掷者;// 未处理的“错误”事件 ^ 错误:输入缓冲区包含不受支持的图像格式 在错误(本机)
gulp-sharp-resize
:
未处理的拒绝错误:输入缓冲区包含不受支持的图像格式 在错误(本机)
美丽的!我将整理我所有的 18,000 张图像,并希望能找出“不支持的图像格式”的图像。留下来,我马上回来。
现在来了imagemin-jpeg-recompress
:
事件.js:141 投掷者;// 未处理的“错误”事件 ^ 错误:不支持的颜色转换请求 在子进程。(/Users/mvasin/Sites/process images/node_modules/imagemin-jpeg-recompress/index.js:101:11) 在 emitTwo (events.js:87:13) 在 ChildProcess.emit (events.js:172:7) 在可能关闭(内部/child_process.js:817:16) 在套接字。(内部/child_process.js:319:11) 在 emitOne (events.js:77:13) 在 Socket.emit (events.js:169:7) 在 Pipe._onclose (net.js:469:12)
你明白了……
gulp-imagemin
错误也停止。
我试图求助于桌面 mac 应用程序 ImageOptim(它在设置的深处有“有损”),但在真正巨大的图像集上,由于内部错误,它会在中间的某个时间静默停止处理。
无论如何,我想保留 gulp 工作流程。