123456789101112131415161718192021222324252627282930 |
- import { PluginOption } from 'vite'
- import viteCompression from 'vite-plugin-compression'
- /**
- * @description 根据 compress 配置,生成不同的压缩规则
- * @param viteEnv
- */
- export default (viteEnv: ViteEnv): PluginOption | PluginOption[] => {
- const { VITE_BUILD_COMPRESS = 'none', VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE } = viteEnv
- const compressList = VITE_BUILD_COMPRESS.split(',')
- const plugins: PluginOption[] = []
- if (compressList.includes('gzip')) {
- plugins.push(
- viteCompression({
- ext: '.gz',
- algorithm: 'gzip',
- deleteOriginFile: VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE
- })
- )
- }
- if (compressList.includes('brotli')) {
- plugins.push(
- viteCompression({
- ext: '.br',
- algorithm: 'brotliCompress',
- deleteOriginFile: VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE
- })
- )
- }
- return plugins
- }
|