Blame view

泰额版/Food Labeling Management Code/Yi.Vben5.Vue3/apps/web-antd/vite.config.mts 1.4 KB
83ccb207   杨鑫   最新
1
2
3
  import { defineConfig } from '@vben/vite-config';
  import { loadEnv } from 'vite';
  
83ccb207   杨鑫   最新
4
5
6
7
8
  // 自行取消注释来启用按需导入功能
  // import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers';
  // import Components from 'unplugin-vue-components/vite';
  
  export default defineConfig(async ({ command, mode }) => {
540ac0e3   杨鑫   前端修改bug
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    const env = loadEnv(mode, process.cwd(), '');
    const apiPrefix = (env.VITE_GLOB_API_URL ?? '').replace(/^"|"$/g, '');
    const apiTarget = (env.VITE_APP_URL ?? '').replace(/^"|"$/g, '');
    /** 相对路径(如 /dev-api)→ Vite 代理到 VITE_APP_URL,本地开发规避 CORS */
    const useDevProxy = apiPrefix.startsWith('/') && !!apiTarget;
  
    const devProxy = useDevProxy
      ? {
          [apiPrefix]: {
            target: apiTarget,
            changeOrigin: true,
            rewrite: (path: string) => path.replace(new RegExp(`^${apiPrefix}`), ''),
            configure: (proxy: { on: (e: string, fn: (...args: unknown[]) => void) => void }) => {
              proxy.on('proxyReq', (_proxyReq, req) => {
                const url = `${apiTarget}${(req.url ?? '').replace(new RegExp(`^${apiPrefix}`), '')}`;
                console.log('[dev-api proxy]', req.method, url);
              });
            },
          },
        }
      : undefined;
  
83ccb207   杨鑫   最新
31
32
33
34
    return {
      application: {},
      vite: {
        plugins: [
540ac0e3   杨鑫   前端修改bug
35
          // Components({ ... }),
83ccb207   杨鑫   最新
36
37
        ],
        server: {
540ac0e3   杨鑫   前端修改bug
38
          proxy: devProxy,
83ccb207   杨鑫   最新
39
40
41
42
        },
      },
    };
  });