UNPKG

create-vvt

Version:

一个基于 Vite + Vue3 + TypeScript/JavaScript 的项目模板脚手架

38 lines (31 loc) 1.01 kB
import type { PluginOption } from 'vite'; import { compression, defineAlgorithm, type ViteCompressionPluginOption } from 'vite-plugin-compression2'; export default function setupConfigCompressPlugin( compress: ViteCompression ): PluginOption[] { if (compress === 'none') return []; const gz: ViteCompressionPluginOption = { algorithms: ['gzip', defineAlgorithm('deflate', { level: 9 })], // 体积大于1KB才会被压缩 threshold: 1024, // 默认压缩html|xml|css|json|js|mjs|svg|yaml|yml|toml后缀文件,exclude=[填写不压缩的文件] // 压缩后是否删除原始文件 deleteOriginalAssets: false }; const codeList = { k: 'gzip', v: gz }; const plugins: PluginOption = []; if (compress.includes(codeList.k)) { if (compress.includes('clear')) { plugins.push( compression(Object.assign(codeList.v, { deleteOriginalAssets: true })) ); } else { plugins.push(compression(codeList.v)); } } return plugins; }