vite.config.ts 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import { fileURLToPath, URL } from 'node:url'
  2. import { defineConfig } from 'vite'
  3. import vue from '@vitejs/plugin-vue'
  4. import vueDevTools from 'vite-plugin-vue-devtools'
  5. import { loadEnv } from 'vite'
  6. import vueJsx from "@vitejs/plugin-vue-jsx";
  7. import AutoImport from 'unplugin-auto-import/vite'
  8. import Components from 'unplugin-vue-components/vite'
  9. import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
  10. export default defineConfig(({ command, mode }) => {
  11. const env = loadEnv(mode, process.cwd(), '');
  12. // console.log('env', env)
  13. return {
  14. base: '/', // 设置相对路径
  15. define: {
  16. 'process.env': env
  17. },
  18. server: {
  19. proxy: {
  20. '/api': {
  21. target: env.VITE_API_URL, //'http://172.18.0.3:8000/api',
  22. changeOrigin: true,
  23. rewrite: path => path.replace(/^\/api/, '/open-platform')
  24. },
  25. '/open-platform': {
  26. target: env.VITE_API_URL, // 后端服务器地址
  27. changeOrigin: true, // 启用跨域
  28. // rewrite: (path) => path.replace(/^\/open-platform/, '') // 路径重写
  29. }
  30. },
  31. port: 8080,
  32. host: '0.0.0.0',
  33. open: true,
  34. },
  35. plugins: [
  36. vue(),
  37. vueJsx(),
  38. vueDevTools(),
  39. AutoImport({
  40. resolvers: [ElementPlusResolver()],
  41. }),
  42. Components({
  43. resolvers: [ElementPlusResolver()],
  44. }),
  45. ],
  46. resolve: {
  47. alias: {
  48. '@': fileURLToPath(new URL('./src', import.meta.url))
  49. },
  50. },
  51. }
  52. })