vite基本配置
import {
defineConfig,
loadEnv
} from 'vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from 'path'
import viteCompression from 'vite-plugin-compression'
const alias = {
'@': resolve(__dirname, 'src')
}
export default defineConfig(({
mode
}) => {
const env = loadEnv(mode, process.cwd())
const {
VITE_APP_ENV
} = env
return {
plugins: [vue(), viteCompression({
verbose: true,
disable: false,
threshold: 10240,
algorithm: 'gzip',
ext: '.gz',
})],
resolve: {
alias
},
base: VITE_APP_ENV === 'production' ? '/' : '/',
build: {
minify: "terser",
chunkSizeWarningLimit: 1500,
outDir: 'tywz',
target: 'es2020',
rollupOptions: {
output: {
chunkFileNames: 'static/js/[name]-[hash].js',
entryFileNames: 'static/js/[name]-[hash].js',
assetFileNames: 'static/[ext]/[name]-[hash].[ext]'
},
manualChunks(id) {
if (id.includes('node_modules')) {
return id.toString().split('node_modules/')[1].split('/')[0].toString();
}
}
},
terserOptions: {
compress: {
drop_console: true,
drop_debugger: true,
},
},
},
publicDir: 'assets',
optimizedeps: {
esbuildoptions: {
target: 'es2020'
}
}
}
})