first commit
This commit is contained in:
60
frontend/vite.config.ts
Normal file
60
frontend/vite.config.ts
Normal file
@@ -0,0 +1,60 @@
|
||||
import { defineConfig } from 'vite'
|
||||
import vue from '@vitejs/plugin-vue'
|
||||
import { resolve } from 'path'
|
||||
import { URL } from 'url'
|
||||
|
||||
const __dirname = decodeURIComponent(new URL('.', import.meta.url).pathname);
|
||||
|
||||
// https://vitejs.dev/config/
|
||||
export default defineConfig({
|
||||
plugins: [vue()],
|
||||
server: {
|
||||
port: 3000,
|
||||
proxy: {
|
||||
'/api': {
|
||||
target: 'http://localhost:8001',
|
||||
changeOrigin: true,
|
||||
rewrite: (path) => path.replace(/^\/api/, '/api/v1'),
|
||||
timeout: 600000 // 10分钟超时
|
||||
}
|
||||
}
|
||||
},
|
||||
build: {
|
||||
outDir: 'dist',
|
||||
assetsDir: 'assets',
|
||||
minify: 'terser',
|
||||
sourcemap: false,
|
||||
// 代码分割配置
|
||||
rollupOptions: {
|
||||
output: {
|
||||
manualChunks: {
|
||||
// 第三方库分割
|
||||
vendor: ['vue', 'vue-router', 'pinia'],
|
||||
// UI库分割
|
||||
element: ['element-plus'],
|
||||
// 图表库分割
|
||||
charts: ['echarts'],
|
||||
// 网络请求库分割
|
||||
http: ['axios']
|
||||
},
|
||||
// 缓存策略
|
||||
chunkFileNames: 'assets/js/[name]-[hash].js',
|
||||
entryFileNames: 'assets/js/[name]-[hash].js',
|
||||
assetFileNames: 'assets/[ext]/[name]-[hash].[ext]'
|
||||
}
|
||||
},
|
||||
// 压缩配置
|
||||
terserOptions: {
|
||||
compress: {
|
||||
drop_console: true,
|
||||
drop_debugger: true
|
||||
}
|
||||
}
|
||||
},
|
||||
// 别名配置
|
||||
resolve: {
|
||||
alias: {
|
||||
'@': resolve(process.cwd(), 'src')
|
||||
}
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user