unplugin / unplugin-imagemin

📦 Compression Image compression plugin based on squoosh and sharp
173 stars 18 forks source link

压缩`public`中的几个`.jpg`图片时出现异常 #132

Open fu050409 opened 6 days ago

fu050409 commented 6 days ago

Steps to reproduce

将下面两个图片文件放在public文件夹中然后运行pnpm build

meditari_full

jpeg-featured-image

What is expected?

两张图片应该被正确处理。

What is actually happening?

当我将第一张图片放入public中的时候,一个未知错误出现了:

[unplugin-imagemin] 📦 📦 Process start with Mode squoosh
            ▶ [unplugin-imagemin] ✨ ✨ Since the current version of node does not support squoosh, it will automatically change mode to sharp.
dist/assets/primeicons-Dr5RGzOO.svg 334.5 KB ➡️  308.32 KB +247ms
            ▶ error during build:
Error: UNKNOWN: unknown error, open 'D:\Projects\Meditari\public\meditari_full.jpg'
    at async open (node:internal/fs/promises:633:25)
    at async Object.writeFile (node:internal/fs/promises:1212:14)
    at async processImageFile (file:///D:/Projects/Meditari/node_modules/.pnpm/unplugin-imagemin@0.5.18_rollup@4.18.0/node_modules/unplugin-imagemin/dist/chunk-PB4KS3KS.mjs:1566:5)  
    at async Promise.all (index 1)
    at async initSharp (file:///D:/Projects/Meditari/node_modules/.pnpm/unplugin-imagemin@0.5.18_rollup@4.18.0/node_modules/unplugin-imagemin/dist/chunk-PB4KS3KS.mjs:1590:3)
s:1928:7)
    at async Object.handler (file:///D:/Projects/Meditari/node_modules/.pnpm/unplugin-imagemin@0.5.18_rollup@4.18.0/node_modules/unplugin-imagemin/dist/chunk-PB4KS3KS.mjs:2179:9)    
    at async PluginDriver.hookParallel (file:///D:/Projects/Meditari/node_modules/.pnpm/rollup@4.18.0/node_modules/rollup/dist/es/shared/node-entry.js:19696:17)
    at async Object.close (file:///D:/Projects/Meditari/node_modules/.pnpm/rollup@4.18.0/node_modules/rollup/dist/es/shared/node-entry.js:20631:13)
    at async build (file:///D:/Projects/Meditari/node_modules/.pnpm/vite@5.3.1/node_modules/vite/dist/node/chunks/dep-BcXSligG.js:65687:17)
    at async CAC.<anonymous> (file:///D:/Projects/Meditari/node_modules/.pnpm/vite@5.3.1/node_modules/vite/dist/node/cli.js:828:5)
 ELIFECYCLE  Command failed with exit code 1.

这个异常是奇怪的,它在 async open里出错,但是经过我的检查,我的图片文件和环境都是正常的,也没有出现文件占用等问题。

当我将第二个文件放入 public文件夹后,插件提示我格式未被支持:

[unplugin-imagemin] 📦 📦 Process start with Mode squoosh
            ▶ [unplugin-imagemin] ✨ ✨ Since the current version of node does not support squoosh, it will automatically change mode to sharp.
dist/assets/primeicons-Dr5RGzOO.svg 334.5 KB ➡️  308.32 KB +251ms
            ▶ error during build:
Error: Input file contains unsupported image format
    at Sharp.toBuffer (D:\Projects\Meditari\node_modules\.pnpm\sharp@0.33.0\node_modules\sharp\lib\output.js:161:17)
    at processImageFile (file:///D:/Projects/Meditari/node_modules/.pnpm/unplugin-imagemin@0.5.18_rollup@4.18.0/node_modules/unplugin-imagemin/dist/chunk-PB4KS3KS.mjs:1556:79)       
    at async Promise.all (index 1)
    at async initSharp (file:///D:/Projects/Meditari/node_modules/.pnpm/unplugin-imagemin@0.5.18_rollup@4.18.0/node_modules/unplugin-imagemin/dist/chunk-PB4KS3KS.mjs:1590:3)
    at async Context.closeBundleFn (file:///D:/Projects/Meditari/node_modules/.pnpm/unplugin-imagemin@0.5.18_rollup@4.18.0/node_modules/unplugin-imagemin/dist/chunk-PB4KS3KS.mjs:2031:7)
    at async Context.spinnerHooks (file:///D:/Projects/Meditari/node_modules/.pnpm/unplugin-imagemin@0.5.18_rollup@4.18.0/node_modules/unplugin-imagemin/dist/chunk-PB4KS3KS.mjs:1959:5)
    at async Context.closeBundleHook (file:///D:/Projects/Meditari/node_modules/.pnpm/unplugin-imagemin@0.5.18_rollup@4.18.0/node_modules/unplugin-imagemin/dist/chunk-PB4KS3KS.mjs:1928:7)
    at async Object.handler (file:///D:/Projects/Meditari/node_modules/.pnpm/unplugin-imagemin@0.5.18_rollup@4.18.0/node_modules/unplugin-imagemin/dist/chunk-PB4KS3KS.mjs:2179:9)    
    at async PluginDriver.hookParallel (file:///D:/Projects/Meditari/node_modules/.pnpm/rollup@4.18.0/node_modules/rollup/dist/es/shared/node-entry.js:19696:17)
    at async Object.close (file:///D:/Projects/Meditari/node_modules/.pnpm/rollup@4.18.0/node_modules/rollup/dist/es/shared/node-entry.js:20631:13)
    at async build (file:///D:/Projects/Meditari/node_modules/.pnpm/vite@5.3.1/node_modules/vite/dist/node/chunks/dep-BcXSligG.js:65687:17)
    at async CAC.<anonymous> (file:///D:/Projects/Meditari/node_modules/.pnpm/vite@5.3.1/node_modules/vite/dist/node/cli.js:828:5)
 ELIFECYCLE  Command failed with exit code 1.

System Info

Windows 11, Pnpm v9.4.0, Unplugin-imagemin v0.5.18

Any additional comments?

No response

ErKeLost commented 6 days ago

可以提供一个复现仓库么 我来看一下是什么原因

fu050409 commented 6 days ago

可以提供一个复现仓库么 我来看一下是什么原因

好的,我已经将代码提交到新的仓库 https://github.com/noctisynth/Meditari