vite.config.ts 1.1 KB

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