diff --git a/package.json b/package.json index 6022d0c..f9d715b 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "packageManager": "pnpm@10.15.0", + "packageManager": "pnpm@10.15.1", "name": "vue-ts-example", "version": "0.0.0", "private": true, @@ -90,6 +90,7 @@ "ts-enum-util": "^4.1.0", "utils4u": "^4.2.3", "vant": "^4.9.21", + "vite-plugin-image-optimizer": "^2.0.2", "vue": "^3.5.18", "vue-data-ui": "^3.0.14", "vue-draggable-plus": "^0.6.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 595eff2..d0aa182 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -147,6 +147,9 @@ importers: vant: specifier: ^4.9.21 version: 4.9.21(vue@3.5.20(typescript@5.9.2)) + vite-plugin-image-optimizer: + specifier: ^2.0.2 + version: 2.0.2(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.1)) vue: specifier: ^3.5.18 version: 3.5.20(typescript@5.9.2) @@ -2713,6 +2716,10 @@ packages: resolution: {integrity: sha512-UKKqXdvf8aQ4C7m3brO77YWe5CDz8N59PdAUz7M8gowKUUXTutbk0Vk5DRBrCe0hMUyyNMUhdCZ38llGxCViyQ==} engines: {node: '>= 18.0.0'} + ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + ansi-escapes@7.0.0: resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} engines: {node: '>=18'} @@ -5979,6 +5986,19 @@ packages: vite-plugin-fake-server@2.2.0: resolution: {integrity: sha512-RP691997Q207nenNMhg7cvYyBXZyjqXwApTBa+a9kHmILgcAU2w4TMRDiAhIU0HPLAAR5MHlWTEpxA9Tbf+v8g==} + vite-plugin-image-optimizer@2.0.2: + resolution: {integrity: sha512-BYK27SpSScRIaveJVjbP7EjSrawuCc+ffESGvKVRhByAu6RGvwE3EyGg9ZeqQiLUE8e1hKSCr8v5ZfvQNiqvJQ==} + engines: {node: '>=18.17.0'} + peerDependencies: + sharp: '>=0.34.0' + svgo: '>=4' + vite: '>=5' + peerDependenciesMeta: + sharp: + optional: true + svgo: + optional: true + vite-plugin-image-tools@3.0.0: resolution: {integrity: sha512-MFlDwiJCcOVfrYTs1Nz2ElQKETJIrivjtdgsumMGEVF1u5xIhD6dkZApgXL5kShYXmJkAUN5A7bTWxVOxg+oxA==} @@ -8674,6 +8694,8 @@ snapshots: '@alova/shared': 1.3.1 rate-limiter-flexible: 5.0.5 + ansi-colors@4.1.3: {} + ansi-escapes@7.0.0: dependencies: environment: 1.1.0 @@ -12093,6 +12115,12 @@ snapshots: picocolors: 1.1.1 tinyglobby: 0.2.14 + vite-plugin-image-optimizer@2.0.2(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.1)): + dependencies: + ansi-colors: 4.1.3 + pathe: 2.0.3 + vite: rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(jiti@2.5.1)(less@4.4.1)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.1) + vite-plugin-image-tools@3.0.0: dependencies: sharp: 0.33.5 diff --git a/vite.config.plugins.ts b/vite.config.plugins.ts index 15d3839..ed36559 100644 --- a/vite.config.plugins.ts +++ b/vite.config.plugins.ts @@ -25,6 +25,7 @@ import { createUtils4uAutoImports } from 'utils4u/auto-imports'; import { type PluginOption } from 'vite'; import { checker } from 'vite-plugin-checker'; import { vitePluginFakeServer } from 'vite-plugin-fake-server'; +import { ViteImageOptimizer } from 'vite-plugin-image-optimizer'; import pluginPurgeCss from 'vite-plugin-purgecss-updated-v5'; import { viteSingleFile } from 'vite-plugin-singlefile'; import { viteStaticCopy } from 'vite-plugin-static-copy'; @@ -193,6 +194,10 @@ export function Plugins() { { dest: cesiumBaseUrl, src: `${cesiumSource}/Widgets` }, ], }), + // https://github.com/FatehAK/vite-plugin-image-optimizer?tab=readme-ov-file#default-configuration + ViteImageOptimizer({ + /* pass your config */ + }), ); // 检查是否在VS Code终端中运行