From fdaa397265d99d06c78458c6d8d775374dc3f728 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期一, 16 三月 2026 13:46:35 +0800
Subject: [PATCH] yys 修改分包策略
---
vite.config.js | 191 +++++++++++++++++++++++++++--------------------
1 files changed, 109 insertions(+), 82 deletions(-)
diff --git a/vite.config.js b/vite.config.js
index d686a0f..45d48b5 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -1,82 +1,109 @@
-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://192.168.1.147:7003" // 寮�鍙戠幆澧冨悗绔帴鍙�
- : "http://114.132.189.42:7003"; // 鐢熶骇鐜鍚庣鎺ュ彛
-
- return {
- // 閮ㄧ讲鐢熶骇鐜鍜屽紑鍙戠幆澧冧笅鐨刄RL銆�
- // 榛樿鎯呭喌涓嬶紝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();
- }
- },
- },
- },
- ],
- },
- },
- };
-});
+import { defineConfig, loadEnv } from "vite";
+import path from "path";
+import createVitePlugins from "./vite/plugins";
+
+export default defineConfig(({ mode, command }) => {
+ const env = loadEnv(mode, process.cwd());
+ const { VITE_APP_ENV } = env;
+
+ const baseUrl = VITE_APP_ENV === "development"
+ ? "http://192.168.1.35:9009"
+ : env.VITE_BASE_API;
+
+ const javaUrl = VITE_APP_ENV === "development"
+ ? "http://192.168.1.35:9009"
+ : env.VITE_JAVA_API;
+
+ return {
+ define: {
+ __BASE_API__: JSON.stringify(javaUrl),
+ },
+ base: "/",
+ plugins: createVitePlugins(env, command === "build"),
+
+ resolve: {
+ alias: {
+ "~": path.resolve(__dirname, "./"),
+ "@": path.resolve(__dirname, "./src"),
+ },
+ extensions: [".mjs", ".js", ".ts", ".jsx", ".tsx", ".json", ".vue"],
+ dedupe: ["vue", "axios"],
+ },
+
+ // 缂撳瓨璺緞鏀逛负鐩稿璺緞锛孞enkins 缁濆璺緞鏋佸鏄撴姤閿�
+ cacheDir: "node_modules/.vite",
+
+ optimizeDeps: {
+ include: ["vue", "axios", "element-plus", "echarts"],
+ esbuildOptions: {
+ target: "es2020",
+ },
+ },
+
+ build: {
+ sourcemap: false,
+ outDir: "dist",
+ assetsDir: "assets",
+ chunkSizeWarningLimit: 2000,
+ minify: "esbuild",
+ reportCompressedSize: false,
+
+ rollupOptions: {
+ output: {
+ chunkFileNames: "static/js/[name]-[hash].js",
+ entryFileNames: "static/js/[name]-[hash].js",
+ assetFileNames: "static/[ext]/[name]-[hash].[ext]",
+ manualChunks(id) {
+ // 鏇寸ǔ瀹氱殑鑷姩鍒嗗寘锛岄伩鍏嶄綘涔嬪墠鍐欐鍒嗗寘瀵艰嚧寰幆渚濊禆
+ if (id.includes("node_modules/vue") || id.includes("node_modules/vue-router") || id.includes("node_modules/pinia") || id.includes("node_modules/axios")) {
+ return "vendor";
+ }
+ if (id.includes("node_modules/element-plus")) {
+ return "ui";
+ }
+ if (id.includes("node_modules/echarts")) {
+ return "charts";
+ }
+ },
+ },
+ },
+ },
+
+ server: {
+ port: 8001,
+ host: "0.0.0.0",
+ open: true,
+ proxy: {
+ "/dev-api": {
+ target: baseUrl,
+ changeOrigin: true,
+ rewrite: (p) => p.replace(/^\/dev-api/, ""),
+ },
+ "/v3/api-docs": {
+ target: baseUrl,
+ changeOrigin: true,
+ },
+ },
+ },
+
+ css: {
+ postcss: {
+ plugins: [
+ {
+ postcssPlugin: "internal:charset-removal",
+ AtRule: {
+ charset: (atRule) => {
+ if (atRule.name === "charset") atRule.remove();
+ },
+ },
+ },
+ ]
+ },
+ },
+
+ esbuild: {
+ logOverride: { "this-is-undefined-in-esm": "silent" },
+ target: "es2020",
+ },
+ };
+});
\ No newline at end of file
--
Gitblit v1.9.3