vite.config.ts 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import { fileURLToPath, URL } from 'node:url'
  2. import { defineConfig } from 'vite'
  3. import vue from '@vitejs/plugin-vue'
  4. import AutoImport from 'unplugin-auto-import/vite'
  5. import Components from 'unplugin-vue-components/vite'
  6. import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
  7. import Icons from 'unplugin-icons/vite'
  8. import IconsResolver from 'unplugin-icons/resolver'
  9. // https://vitejs.dev/config/
  10. export default defineConfig({
  11. resolve: {
  12. alias: {
  13. '@': fileURLToPath(new URL('./src', import.meta.url))
  14. }
  15. },
  16. plugins: [
  17. vue(),
  18. AutoImport({
  19. resolvers: [
  20. ElementPlusResolver(),
  21. IconsResolver({
  22. prefix: 'Icon'
  23. })
  24. ],
  25. imports: [
  26. 'vue',
  27. // 自定义全局引入
  28. {
  29. // 全局引入"src/api/index.ts"的`default`导出,注册为全局变量`api`
  30. // 相当于在每个ts/vue文件中执行了一次 `import api from "@/api/index"`;
  31. '@/api/index': [['default', '$api']]
  32. }
  33. ],
  34. dts: './src/auto-imports.d.ts'
  35. }),
  36. Components({
  37. resolvers: [
  38. ElementPlusResolver(), // 自动注册图标组件
  39. IconsResolver({
  40. enabledCollections: ['ep']
  41. })
  42. ]
  43. }),
  44. Icons({
  45. autoInstall: true
  46. })
  47. ],
  48. server: {
  49. port: 80,
  50. hmr: true,
  51. open: true,
  52. // 设置 https 代理
  53. proxy: {
  54. '/api': {
  55. target: 'http://192.168.0.161',
  56. changeOrigin: true,
  57. rewrite: (path: string) => path.replace(/^\/api/, '')
  58. }
  59. }
  60. }
  61. })