vite.config.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. // vite.config.js
  2. import { defineConfig, loadEnv } from 'vite';
  3. import vue from '@vitejs/plugin-vue';
  4. import vueDevTools from 'vite-plugin-vue-devtools';
  5. import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
  6. import path from 'path'
  7. export default defineConfig(({ command, mode }) => {
  8. // Load environment variables based on `mode` in the current working directory.
  9. const env = loadEnv(mode, process.cwd());
  10. console.log("env", env)
  11. return {
  12. server: {
  13. host: true, // host设置为true才可以使用network的形式,以ip访问项目
  14. port: 5180, // 端口号
  15. https: false,
  16. open: false, // true 自动打开浏览器自动打开浏览器
  17. cors: true, // 跨域设置允许
  18. strictPort: true, // 如果端口已占用直接退出
  19. proxy: {
  20. '/api': {
  21. target: env.VITE_APP_BASE_API, // 使用环境变量中的 API 地址
  22. changeOrigin: true,
  23. rewrite: (path) => path.replace(/^\/api/, '/api'),
  24. },
  25. },
  26. },
  27. plugins: [
  28. vue(),
  29. vueDevTools(),
  30. createSvgIconsPlugin({
  31. iconDirs: [path.resolve(process.cwd(), 'src/assets/icons')],
  32. symbolId: 'icon-[dir]-[name]',
  33. }),
  34. ],
  35. resolve: {
  36. alias: {
  37. '@': '/src', // 使用字符串路径简化别名配置
  38. },
  39. },
  40. define: {
  41. __APP_ENV__: JSON.stringify(env.ENV),
  42. __APP_BASE_API__: JSON.stringify(env.VITE_APP_BASE_API), // 将 API 地址定义为全局变量
  43. },
  44. };
  45. });