vite.config.ts 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import { defineConfig } from 'vite'
  2. import vue from '@vitejs/plugin-vue'
  3. import { resolve } from 'path'
  4. import pkg from './package.json'
  5. export default defineConfig({
  6. plugins: [vue()],
  7. define: {
  8. __APP_VERSION__: JSON.stringify(pkg.version)
  9. },
  10. resolve: {
  11. alias: {
  12. '@': resolve(__dirname, 'src')
  13. }
  14. },
  15. server: {
  16. host: '0.0.0.0',
  17. port: 3000,
  18. open: true,
  19. proxy: {
  20. // 后端 API
  21. '/api': {
  22. target: 'https://tg-live-game.pwtk.cc',
  23. changeOrigin: true,
  24. secure: true
  25. }
  26. }
  27. },
  28. css: {
  29. preprocessorOptions: {
  30. scss: {
  31. additionalData: `@use "@/assets/styles/variables.scss" as *;`
  32. }
  33. }
  34. },
  35. build: {
  36. chunkSizeWarningLimit: 1500,
  37. rollupOptions: {
  38. output: {
  39. manualChunks(id) {
  40. if (id.includes('node_modules')) {
  41. // Vue 核心和 Element Plus 放在一起,避免循环依赖
  42. if (id.includes('vue') || id.includes('@vue') ||
  43. id.includes('element-plus') || id.includes('@element-plus') ||
  44. id.includes('pinia') || id.includes('vue-router')) {
  45. return 'vendor'
  46. }
  47. }
  48. }
  49. }
  50. }
  51. }
  52. })