mirror of
https://github.com/vbenjs/vue-vben-admin.git
synced 2025-08-27 19:29:04 +08:00
chore: optimize prod configuration to control whether to delete origin files when using compress plugin (#443)
This commit is contained in:
@@ -12,6 +12,9 @@ VITE_DROP_CONSOLE = true
|
|||||||
# If you need multiple forms, you can use `,` to separate
|
# If you need multiple forms, you can use `,` to separate
|
||||||
VITE_BUILD_COMPRESS = 'none'
|
VITE_BUILD_COMPRESS = 'none'
|
||||||
|
|
||||||
|
# Whether to delete origin files when using compress, default false
|
||||||
|
VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE = true
|
||||||
|
|
||||||
# Basic interface address SPA
|
# Basic interface address SPA
|
||||||
VITE_GLOB_API_URL=/basic-api
|
VITE_GLOB_API_URL=/basic-api
|
||||||
|
|
||||||
|
@@ -6,7 +6,10 @@ import type { Plugin } from 'vite';
|
|||||||
|
|
||||||
import compressPlugin from 'vite-plugin-compression';
|
import compressPlugin from 'vite-plugin-compression';
|
||||||
|
|
||||||
export function configCompressPlugin(compress: 'gzip' | 'brotli' | 'none'): Plugin | Plugin[] {
|
export function configCompressPlugin(
|
||||||
|
compress: 'gzip' | 'brotli' | 'none',
|
||||||
|
deleteOriginFile: boolean = false
|
||||||
|
): Plugin | Plugin[] {
|
||||||
const compressList = compress.split(',');
|
const compressList = compress.split(',');
|
||||||
|
|
||||||
const plugins: Plugin[] = [];
|
const plugins: Plugin[] = [];
|
||||||
@@ -15,6 +18,7 @@ export function configCompressPlugin(compress: 'gzip' | 'brotli' | 'none'): Plug
|
|||||||
plugins.push(
|
plugins.push(
|
||||||
compressPlugin({
|
compressPlugin({
|
||||||
ext: '.gz',
|
ext: '.gz',
|
||||||
|
deleteOriginFile,
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -23,6 +27,7 @@ export function configCompressPlugin(compress: 'gzip' | 'brotli' | 'none'): Plug
|
|||||||
compressPlugin({
|
compressPlugin({
|
||||||
ext: '.br',
|
ext: '.br',
|
||||||
algorithm: 'brotliCompress',
|
algorithm: 'brotliCompress',
|
||||||
|
deleteOriginFile,
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@@ -19,7 +19,13 @@ import { configSvgIconsPlugin } from './svgSprite';
|
|||||||
import { configHmrPlugin } from './hmr';
|
import { configHmrPlugin } from './hmr';
|
||||||
|
|
||||||
export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) {
|
export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) {
|
||||||
const { VITE_USE_IMAGEMIN, VITE_USE_MOCK, VITE_LEGACY, VITE_BUILD_COMPRESS } = viteEnv;
|
const {
|
||||||
|
VITE_USE_IMAGEMIN,
|
||||||
|
VITE_USE_MOCK,
|
||||||
|
VITE_LEGACY,
|
||||||
|
VITE_BUILD_COMPRESS,
|
||||||
|
VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE,
|
||||||
|
} = viteEnv;
|
||||||
|
|
||||||
const vitePlugins: (Plugin | Plugin[])[] = [
|
const vitePlugins: (Plugin | Plugin[])[] = [
|
||||||
// have to
|
// have to
|
||||||
@@ -64,7 +70,9 @@ export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) {
|
|||||||
VITE_USE_IMAGEMIN && vitePlugins.push(configImageminPlugin());
|
VITE_USE_IMAGEMIN && vitePlugins.push(configImageminPlugin());
|
||||||
|
|
||||||
// rollup-plugin-gzip
|
// rollup-plugin-gzip
|
||||||
vitePlugins.push(configCompressPlugin(VITE_BUILD_COMPRESS));
|
vitePlugins.push(
|
||||||
|
configCompressPlugin(VITE_BUILD_COMPRESS, VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE)
|
||||||
|
);
|
||||||
|
|
||||||
// vite-plugin-pwa
|
// vite-plugin-pwa
|
||||||
vitePlugins.push(configPwaConfig(viteEnv));
|
vitePlugins.push(configPwaConfig(viteEnv));
|
||||||
|
1
types/global.d.ts
vendored
1
types/global.d.ts
vendored
@@ -65,6 +65,7 @@ declare global {
|
|||||||
VITE_USE_CDN: boolean;
|
VITE_USE_CDN: boolean;
|
||||||
VITE_DROP_CONSOLE: boolean;
|
VITE_DROP_CONSOLE: boolean;
|
||||||
VITE_BUILD_COMPRESS: 'gzip' | 'brotli' | 'none';
|
VITE_BUILD_COMPRESS: 'gzip' | 'brotli' | 'none';
|
||||||
|
VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE: boolean;
|
||||||
VITE_LEGACY: boolean;
|
VITE_LEGACY: boolean;
|
||||||
VITE_USE_IMAGEMIN: boolean;
|
VITE_USE_IMAGEMIN: boolean;
|
||||||
VITE_GENERATE_UI: string;
|
VITE_GENERATE_UI: string;
|
||||||
|
Reference in New Issue
Block a user