Newer
Older
KaiFengPC / vite / plugins / compression.js
@zhangdeliang zhangdeliang on 23 May 899 bytes 初始化项目
import compression from 'vite-plugin-compression';

export default function createCompression(env) {
  const { VITE_BUILD_COMPRESS } = env;
  const plugin = [];
  if (VITE_BUILD_COMPRESS) {
    const compressList = VITE_BUILD_COMPRESS.split(',');
    if (compressList.includes('gzip')) {
      // http://doc.ruoyi.vip/ruoyi-vue/other/faq.html#使用gzip解压缩静态文件
      plugin.push(
        compression({
          deleteOriginFile: false,
          threshold: 1024 * 300, // 对大于300kb的文件进行压缩
          algorithm: 'gzip', // 采用的压缩算法,默认是 gzip
          ext: '.gz', // 生成的压缩包后缀
        })
      );
    }
    if (compressList.includes('brotli')) {
      plugin.push(
        compression({
          ext: '.br',
          algorithm: 'brotliCompress',
          deleteOriginFile: false,
        })
      );
    }
  }
  return plugin;
}