You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
			
		
		
		
			
				
					33 lines
				
				850 B
			
		
		
			
		
	
	
					33 lines
				
				850 B
			| 
											3 years ago
										 | /**
 | ||
|  |  * 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'
 | ||
|  | import compressPlugin from 'vite-plugin-compression'
 | ||
|  | 
 | ||
|  | export function configCompressPlugin(compress: 'gzip' | 'brotli' | 'none', deleteOriginFile = false): PluginOption | PluginOption[] {
 | ||
|  |   const compressList = compress.split(',')
 | ||
|  | 
 | ||
|  |   const plugins: PluginOption[] = []
 | ||
|  | 
 | ||
|  |   if (compressList.includes('gzip')) {
 | ||
|  |     plugins.push(
 | ||
|  |       compressPlugin({
 | ||
|  |         ext: '.gz',
 | ||
|  |         deleteOriginFile
 | ||
|  |       })
 | ||
|  |     )
 | ||
|  |   }
 | ||
|  | 
 | ||
|  |   if (compressList.includes('brotli')) {
 | ||
|  |     plugins.push(
 | ||
|  |       compressPlugin({
 | ||
|  |         ext: '.br',
 | ||
|  |         algorithm: 'brotliCompress',
 | ||
|  |         deleteOriginFile
 | ||
|  |       })
 | ||
|  |     )
 | ||
|  |   }
 | ||
|  |   return plugins
 | ||
|  | }
 |