| 
									
										
										
										
											2025-05-21 11:24:53 +08:00
										 |  |  |  | import { UserConfig, ConfigEnv, loadEnv, defineConfig } from 'vite'; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | import createPlugins from './vite/plugins'; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | import path from 'path'; | 
					
						
							|  |  |  |  | export default defineConfig(({ mode, command }: ConfigEnv): UserConfig => { | 
					
						
							|  |  |  |  |   const env = loadEnv(mode, process.cwd()); | 
					
						
							|  |  |  |  |   return { | 
					
						
							|  |  |  |  |     // 部署生产环境和开发环境下的URL。
 | 
					
						
							|  |  |  |  |     // 默认情况下,vite 会假设你的应用是被部署在一个域名的根路径上
 | 
					
						
							|  |  |  |  |     // 例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.ruoyi.vip/admin/,则设置 baseUrl 为 /admin/。
 | 
					
						
							|  |  |  |  |     base: env.VITE_APP_CONTEXT_PATH, | 
					
						
							|  |  |  |  |     resolve: { | 
					
						
							|  |  |  |  |       alias: { | 
					
						
							|  |  |  |  |         '~': path.resolve(__dirname, './'), | 
					
						
							|  |  |  |  |         '@': path.resolve(__dirname, './src') | 
					
						
							|  |  |  |  |       }, | 
					
						
							| 
									
										
										
										
											2025-06-24 09:26:04 +08:00
										 |  |  |  |       extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue', '.tif'] | 
					
						
							| 
									
										
										
										
											2025-05-21 11:24:53 +08:00
										 |  |  |  |     }, | 
					
						
							|  |  |  |  |     // https://cn.vitejs.dev/config/#resolve-extensions
 | 
					
						
							|  |  |  |  |     plugins: createPlugins(env, command === 'build'), | 
					
						
							|  |  |  |  |     server: { | 
					
						
							|  |  |  |  |       host: '0.0.0.0', | 
					
						
							|  |  |  |  |       port: Number(env.VITE_APP_PORT), | 
					
						
							|  |  |  |  |       open: true, | 
					
						
							|  |  |  |  |       proxy: { | 
					
						
							|  |  |  |  |         [env.VITE_APP_BASE_API]: { | 
					
						
							|  |  |  |  |           target: 'http://localhost:8899', | 
					
						
							|  |  |  |  |           changeOrigin: true, | 
					
						
							|  |  |  |  |           ws: true, | 
					
						
							|  |  |  |  |           rewrite: (path) => path.replace(new RegExp('^' + env.VITE_APP_BASE_API), '') | 
					
						
							| 
									
										
										
										
											2025-07-23 11:47:11 +08:00
										 |  |  |  |         }, | 
					
						
							|  |  |  |  |         '/warm-flow-ui': { | 
					
						
							| 
									
										
										
										
											2025-07-26 11:49:39 +08:00
										 |  |  |  |           target: env.VITE_APP_BASE_API, | 
					
						
							| 
									
										
										
										
											2025-07-03 20:51:47 +08:00
										 |  |  |  |           changeOrigin: true, | 
					
						
							|  |  |  |  |           ws: true, | 
					
						
							|  |  |  |  |           rewrite: (path) => path.replace(new RegExp('^' + env.VITE_APP_BASE_API), '') | 
					
						
							| 
									
										
										
										
											2025-07-23 11:47:11 +08:00
										 |  |  |  |         }, | 
					
						
							|  |  |  |  |         '/warm-flow': { | 
					
						
							| 
									
										
										
										
											2025-07-26 11:49:39 +08:00
										 |  |  |  |           target: env.VITE_APP_BASE_API, | 
					
						
							| 
									
										
										
										
											2025-07-03 20:51:47 +08:00
										 |  |  |  |           changeOrigin: true, | 
					
						
							|  |  |  |  |           ws: true, | 
					
						
							|  |  |  |  |           rewrite: (path) => path.replace(new RegExp('^' + env.VITE_APP_BASE_API), '') | 
					
						
							|  |  |  |  |         }, | 
					
						
							| 
									
										
										
										
											2025-07-23 11:47:11 +08:00
										 |  |  |  |         '/workflow': { | 
					
						
							| 
									
										
										
										
											2025-07-26 11:49:39 +08:00
										 |  |  |  |           target: env.VITE_APP_BASE_API, | 
					
						
							| 
									
										
										
										
											2025-07-03 20:51:47 +08:00
										 |  |  |  |           changeOrigin: true, | 
					
						
							|  |  |  |  |           ws: true, | 
					
						
							|  |  |  |  |           rewrite: (path) => path.replace(new RegExp('^' + env.VITE_APP_BASE_API), '') | 
					
						
							| 
									
										
										
										
											2025-07-28 18:46:48 +08:00
										 |  |  |  |         }, | 
					
						
							|  |  |  |  |          '/auth': { | 
					
						
							|  |  |  |  |           target: env.VITE_APP_BASE_API, | 
					
						
							|  |  |  |  |           changeOrigin: true, | 
					
						
							|  |  |  |  |           ws: true, | 
					
						
							|  |  |  |  |           rewrite: (path) => path.replace(new RegExp('^' + env.VITE_APP_BASE_API), '') | 
					
						
							| 
									
										
										
										
											2025-09-12 20:28:12 +08:00
										 |  |  |  |         }, | 
					
						
							| 
									
										
										
										
											2025-05-21 11:24:53 +08:00
										 |  |  |  |       } | 
					
						
							|  |  |  |  |     }, | 
					
						
							|  |  |  |  |     css: { | 
					
						
							|  |  |  |  |       preprocessorOptions: { | 
					
						
							|  |  |  |  |         scss: { | 
					
						
							|  |  |  |  |           javascriptEnabled: true | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |       }, | 
					
						
							|  |  |  |  |       postcss: { | 
					
						
							|  |  |  |  |         plugins: [ | 
					
						
							|  |  |  |  |           { | 
					
						
							|  |  |  |  |             postcssPlugin: 'internal:charset-removal', | 
					
						
							|  |  |  |  |             AtRule: { | 
					
						
							|  |  |  |  |               charset: (atRule) => { | 
					
						
							|  |  |  |  |                 if (atRule.name === 'charset') { | 
					
						
							|  |  |  |  |                   atRule.remove(); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |               } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |           } | 
					
						
							|  |  |  |  |         ] | 
					
						
							|  |  |  |  |       } | 
					
						
							|  |  |  |  |     }, | 
					
						
							|  |  |  |  |     // 预编译
 | 
					
						
							|  |  |  |  |     optimizeDeps: { | 
					
						
							|  |  |  |  |       include: [ | 
					
						
							|  |  |  |  |         'vue', | 
					
						
							|  |  |  |  |         'vue-router', | 
					
						
							|  |  |  |  |         'pinia', | 
					
						
							|  |  |  |  |         'axios', | 
					
						
							|  |  |  |  |         '@vueuse/core', | 
					
						
							|  |  |  |  |         'echarts', | 
					
						
							|  |  |  |  |         'vue-i18n', | 
					
						
							|  |  |  |  |         '@vueup/vue-quill', | 
					
						
							|  |  |  |  |         'image-conversion', | 
					
						
							|  |  |  |  |         'element-plus/es/components/**/css' | 
					
						
							|  |  |  |  |       ] | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  |   }; | 
					
						
							|  |  |  |  | }); |