Files
leaser_front/config/vite.config.prod.ts
T

47 lines
1.3 KiB
TypeScript

import { mergeConfig } from 'vite';
import baseConfig from './vite.config.base';
import configCompressPlugin from './plugin/compress';
import configVisualizerPlugin from './plugin/visualizer';
import configArcoResolverPlugin from './plugin/arcoResolver';
import configImageminPlugin from './plugin/imagemin';
export default mergeConfig(
{
mode: 'production',
plugins: [
configCompressPlugin('gzip'),
configVisualizerPlugin(),
configArcoResolverPlugin(),
configImageminPlugin(),
],
build: {
rollupOptions: {
output: {
manualChunks: (id: string) => {
if (id.includes('node_modules')) {
if (id.includes('@arco-design/web-vue')) {
return 'arco';
}
if (id.includes('echarts') || id.includes('vue-echarts')) {
return 'chart';
}
if (
id.includes('vue') ||
id.includes('pinia') ||
id.includes('@vueuse/core') ||
id.includes('vue-i18n')
) {
return 'vue';
}
return 'vendor';
}
return undefined;
},
},
},
chunkSizeWarningLimit: 2000,
},
},
baseConfig
);