vite.config.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import {
  2. defineConfig
  3. } from 'vite'
  4. import vue from '@vitejs/plugin-vue'
  5. import Pages from 'vite-plugin-pages'
  6. import Layouts from 'vite-plugin-vue-layouts'
  7. import path from 'path'
  8. // https://vitejs.dev/config/
  9. export default defineConfig({
  10. plugins: [
  11. vue(),
  12. Pages({
  13. dirs: [{
  14. dir: 'src/page',
  15. baseRoute: ''
  16. },
  17. {
  18. dir: 'src/views',
  19. baseRoute: ''
  20. }
  21. ],
  22. exclude: ['**/component/*.vue'] // 排除组件
  23. }),
  24. Layouts({
  25. layoutsDirs: 'src/layout',
  26. defaultLayout: 'index'
  27. })
  28. ],
  29. resolve: {
  30. alias: {
  31. '@': path.resolve(path.resolve(), 'src')
  32. }
  33. },
  34. minify: 'terser',
  35. build: {
  36. chunkSizeWarningLimit: 1500,
  37. rollupOptions: {
  38. output: {
  39. manualChunks (id) {
  40. if (id.includes('node_modules')) {
  41. return id.toString().split('node_modules/')[1].split('/')[0].toString()
  42. }
  43. }
  44. }
  45. }
  46. },
  47. server: {
  48. open: true,
  49. proxy: {
  50. '/api': {
  51. // 正式环境地址
  52. // target: 'https://dev.wutongresearch.club/api',
  53. target: 'https://prod.wutongshucloud.com/api',
  54. // target: 'http://192.168.31.181:8110',
  55. changeOrigin: true,
  56. rewrite: (path) => path.replace(/^\/api/, '')
  57. }
  58. }
  59. }
  60. })