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
  | 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 =  
 |      VITE_APP_ENV == "development"  
 |        ? "http://localhost:9036" // 开发环境后端接口  
 |        : "http://114.132.189.42:7003"; // 生产环境后端接口  
 |    
 |    return {  
 |      // 部署生产环境和开发环境下的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();  
 |                  }  
 |                },  
 |              },  
 |            },  
 |          ],  
 |        },  
 |      },  
 |    };  
 |  });  
 |  
  |