1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
  | import { defineConfig, loadEnv } from "vite"; 
 |  import path from "path"; 
 |  import createVitePlugins from "./vite/plugins"; 
 |    
 |  // https://vitejs.dev/config/ 
 |  export default defineConfig(({ mode, command }) => { 
 |    const env = loadEnv(mode, process.cwd()); 
 |    const { VITE_APP_ENV } = env; 
 |    const baseUrl = 
 |        env.VITE_APP_ENV === "development" 
 |            ? "http://114.132.189.42:9036" 
 |            : env.VITE_BASE_API; 
 |    const javaUrl = 
 |        env.VITE_APP_ENV === "development" 
 |            ? "http://114.132.189.42:9037" 
 |            : env.VITE_JAVA_API; 
 |    return { 
 |      define:{ 
 |        __BASE_API__: JSON.stringify(javaUrl) 
 |      }, 
 |      // 部署生产环境和开发环境下的URL。 
 |      // 默认情况下,vite 会假设你的应用是被部署在一个域名的根路径上 
 |      // 例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.ruoyi.vip/admin/,则设置 baseUrl 为 /admin/。 
 |      base: VITE_APP_ENV === "production" ? "/" : "/", 
 |      plugins: createVitePlugins(env, command === "build"), 
 |      resolve: { 
 |        // https://cn.vitejs.dev/config/#resolve-alias 
 |        alias: { 
 |          // 设置路径 
 |          "~": path.resolve(__dirname, "./"), 
 |          // 设置别名 
 |          "@": path.resolve(__dirname, "./src"), 
 |        }, 
 |        // https://cn.vitejs.dev/config/#resolve-extensions 
 |        extensions: [".mjs", ".js", ".ts", ".jsx", ".tsx", ".json", ".vue"], 
 |      }, 
 |      // 打包配置 
 |      build: { 
 |        // https://vite.dev/config/build-options.html 
 |        sourcemap: command === "build" ? false : "inline", 
 |        outDir: "dist", 
 |        assetsDir: "assets", 
 |        chunkSizeWarningLimit: 2000, 
 |        rollupOptions: { 
 |          output: { 
 |            chunkFileNames: "static/js/[name]-[hash].js", 
 |            entryFileNames: "static/js/[name]-[hash].js", 
 |            assetFileNames: "static/[ext]/[name]-[hash].[ext]", 
 |          }, 
 |        }, 
 |      }, 
 |      // vite 相关配置 
 |      server: { 
 |        port: 80, 
 |        host: true, 
 |        open: true, 
 |        proxy: { 
 |          // https://cn.vitejs.dev/config/#server-proxy 
 |          "/dev-api": { 
 |            target: baseUrl, 
 |            changeOrigin: true, 
 |            rewrite: (p) => p.replace(/^\/dev-api/, ""), 
 |          }, 
 |          // springdoc proxy 
 |          "^/v3/api-docs/(.*)": { 
 |            target: baseUrl, 
 |            changeOrigin: true, 
 |          }, 
 |        }, 
 |      }, 
 |      css: { 
 |        postcss: { 
 |          plugins: [ 
 |            { 
 |              postcssPlugin: "internal:charset-removal", 
 |              AtRule: { 
 |                charset: (atRule) => { 
 |                  if (atRule.name === "charset") { 
 |                    atRule.remove(); 
 |                  } 
 |                }, 
 |              }, 
 |            }, 
 |          ], 
 |        }, 
 |      }, 
 |    }; 
 |  }); 
 |  
  |