vben
authored
|
1
2
|
/**
* Used to package and output gzip. Note that this does not work properly in Vite, the specific reason is still being investigated
|
vben
authored
|
3
|
* https://github.com/anncwb/vite-plugin-compression
|
vben
authored
|
4
5
6
7
8
|
*/
import type { Plugin } from 'vite';
import compressPlugin from 'vite-plugin-compression';
|
|
9
10
11
12
|
export function configCompressPlugin(
compress: 'gzip' | 'brotli' | 'none',
deleteOriginFile: boolean = false
): Plugin | Plugin[] {
|
vben
authored
|
13
14
15
16
17
18
19
20
|
const compressList = compress.split(',');
const plugins: Plugin[] = [];
if (compressList.includes('gzip')) {
plugins.push(
compressPlugin({
ext: '.gz',
|
|
21
|
deleteOriginFile,
|
vben
authored
|
22
23
24
25
26
27
28
29
|
})
);
}
if (compressList.includes('brotli')) {
plugins.push(
compressPlugin({
ext: '.br',
algorithm: 'brotliCompress',
|
|
30
|
deleteOriginFile,
|
vben
authored
|
31
32
33
34
35
|
})
);
}
return plugins;
}
|