jeecg-boot-vue3/build/vite/plugin/compress.ts

33 lines
859 B
TypeScript
Raw Normal View History

2021-10-20 06:32:09 +00:00
/**
* Used to package and output gzip. Note that this does not work properly in Vite, the specific reason is still being investigated
* https://github.com/anncwb/vite-plugin-compression
*/
import type { PluginOption } from 'vite';
2021-10-20 06:32:09 +00:00
import compressPlugin from 'vite-plugin-compression';
export function configCompressPlugin(compress: 'gzip' | 'brotli' | 'none', deleteOriginFile = false): PluginOption | PluginOption[] {
2021-10-20 06:32:09 +00:00
const compressList = compress.split(',');
const plugins: PluginOption[] = [];
2021-10-20 06:32:09 +00:00
if (compressList.includes('gzip')) {
plugins.push(
compressPlugin({
ext: '.gz',
deleteOriginFile,
})
);
}
if (compressList.includes('brotli')) {
plugins.push(
compressPlugin({
ext: '.br',
algorithm: 'brotliCompress',
deleteOriginFile,
})
);
}
return plugins;
}