import type { PluginOption } from 'vite'; import { ViteImageOptimizer } from 'vite-plugin-image-optimizer'; /** * 打包图片压缩 */ export function viteImageminOption(): PluginOption { return ViteImageOptimizer({ logStats: false, gif: {}, png: { quality: 90, }, jpeg: { quality: 90, // 设置 jpg 压缩质量 }, webp: { quality: 80, lossless: true, }, svg: { plugins: [ { name: 'preset-default', params: { overrides: { // 保留关键属性 removeViewBox: false, // 保持响应式能力 removeTitle: false, // 保留可访问性 removeDesc: false, // 保留可访问性 cleanupIds: false, // 防止ID被修改 collapseGroups: false, // 保留分组结构 // 优化配置 convertPathData: { // 路径优化 floatPrecision: 2, // 保留2位小数精度 }, convertTransform: { // 变换优化 floatPrecision: 2, }, }, }, }, // 额外插件 'removeDimensions', // 移除冗余的width/height 'sortAttrs', // 属性排序提高压缩率 { name: 'removeAttrs', params: { attrs: 'data-.+', // 保留所有data-属性 preserveCurrentColor: true, }, }, ], }, }); }