vite.config.ts 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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 AutoImport from 'unplugin-auto-import/vite'
  6. import Components from 'unplugin-vue-components/vite'
  7. import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
  8. import Icons from 'unplugin-icons/vite'
  9. import IconsResolver from 'unplugin-icons/resolver'
  10. import VueI18nPlugin from '@intlify/unplugin-vue-i18n/vite';
  11. import path from 'path'
  12. const __dirname = path.dirname(fileURLToPath(import.meta.url));
  13. // https://vite.dev/config/
  14. export default defineConfig({
  15. plugins: [
  16. vue(),
  17. vueDevTools(),
  18. AutoImport({
  19. imports: ['vue'],
  20. resolvers: [
  21. ElementPlusResolver(),
  22. IconsResolver({
  23. prefix: 'Icon',
  24. }),
  25. ],
  26. eslintrc: { enabled: true },
  27. }),
  28. Components({
  29. resolvers: [
  30. ElementPlusResolver(),
  31. IconsResolver({
  32. enabledCollections: ['ep'],
  33. }),
  34. ],
  35. }),
  36. Icons({
  37. autoInstall: true,
  38. }),
  39. ],
  40. build: {
  41. rollupOptions: {
  42. output: {
  43. manualChunks: {
  44. vendor: ['vue', 'axios', 'element-plus'], // 将第三方库单独打包
  45. },
  46. },
  47. },
  48. sourcemap: true,
  49. },
  50. resolve: {
  51. alias: {
  52. '@': fileURLToPath(new URL('./src', import.meta.url))
  53. },
  54. },
  55. server: {
  56. proxy: {
  57. // 匹配以/geoserver开头的请求,转发到GeoServer
  58. '/geoserver': {
  59. target: 'http://localhost:8080', // GeoServer的地址(端口对应你的实际配置)
  60. changeOrigin: true, // 开启跨域
  61. rewrite: (path) => path // 不需要重写路径,直接转发
  62. }
  63. }
  64. }
  65. })
  66. function kebabCase(text: any) {
  67. throw new Error('Function not implemented.')
  68. }