| 
									
										
										
										
											2025-03-06 23:54:06 +08:00
										 |  |  |  | import { defineConfig, loadEnv } from 'vite'; | 
					
						
							| 
									
										
										
										
											2023-04-03 00:05:09 +08:00
										 |  |  |  | import createPlugins from './vite/plugins'; | 
					
						
							| 
									
										
										
										
											2025-02-25 13:30:57 +08:00
										 |  |  |  | import autoprefixer from 'autoprefixer'; // css自动添加兼容性前缀
 | 
					
						
							| 
									
										
										
										
											2023-04-02 01:01:56 +08:00
										 |  |  |  | import path from 'path'; | 
					
						
							| 
									
										
										
										
											2025-03-06 23:54:06 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | export default defineConfig(({ mode, command }) => { | 
					
						
							| 
									
										
										
										
											2023-04-03 00:05:09 +08:00
										 |  |  |  |   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: { | 
					
						
							| 
									
										
										
										
											2024-01-11 15:26:37 +08:00
										 |  |  |  |         '@': path.resolve(__dirname, './src') | 
					
						
							| 
									
										
										
										
											2023-04-03 00:05:09 +08:00
										 |  |  |  |       }, | 
					
						
							|  |  |  |  |       extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue'] | 
					
						
							|  |  |  |  |     }, | 
					
						
							|  |  |  |  |     // 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:8080', | 
					
						
							|  |  |  |  |           changeOrigin: true, | 
					
						
							| 
									
										
										
										
											2023-11-02 04:36:31 +00:00
										 |  |  |  |           ws: true, | 
					
						
							| 
									
										
										
										
											2023-04-03 00:05:09 +08:00
										 |  |  |  |           rewrite: (path) => path.replace(new RegExp('^' + env.VITE_APP_BASE_API), '') | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |       } | 
					
						
							|  |  |  |  |     }, | 
					
						
							|  |  |  |  |     css: { | 
					
						
							|  |  |  |  |       preprocessorOptions: { | 
					
						
							|  |  |  |  |         scss: { | 
					
						
							| 
									
										
										
										
											2025-02-25 13:30:57 +08:00
										 |  |  |  |           // additionalData: '@use "@/assets/styles/variables.module.scss as *";'
 | 
					
						
							|  |  |  |  |           // javascriptEnabled: true
 | 
					
						
							|  |  |  |  |           api: 'modern-compiler' | 
					
						
							| 
									
										
										
										
											2023-04-03 00:05:09 +08:00
										 |  |  |  |         } | 
					
						
							|  |  |  |  |       }, | 
					
						
							|  |  |  |  |       postcss: { | 
					
						
							|  |  |  |  |         plugins: [ | 
					
						
							| 
									
										
										
										
											2025-02-25 13:30:57 +08:00
										 |  |  |  |           // 浏览器兼容性
 | 
					
						
							| 
									
										
										
										
											2025-03-07 12:24:03 +08:00
										 |  |  |  |           autoprefixer(), | 
					
						
							| 
									
										
										
										
											2023-04-03 00:05:09 +08:00
										 |  |  |  |           { | 
					
						
							|  |  |  |  |             postcssPlugin: 'internal:charset-removal', | 
					
						
							|  |  |  |  |             AtRule: { | 
					
						
							|  |  |  |  |               charset: (atRule) => { | 
					
						
							| 
									
										
										
										
											2025-03-07 12:24:03 +08:00
										 |  |  |  |                 atRule.remove(); | 
					
						
							| 
									
										
										
										
											2023-04-03 00:05:09 +08:00
										 |  |  |  |               } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |           } | 
					
						
							|  |  |  |  |         ] | 
					
						
							|  |  |  |  |       } | 
					
						
							|  |  |  |  |     }, | 
					
						
							|  |  |  |  |     // 预编译
 | 
					
						
							|  |  |  |  |     optimizeDeps: { | 
					
						
							|  |  |  |  |       include: [ | 
					
						
							|  |  |  |  |         'vue', | 
					
						
							|  |  |  |  |         'vue-router', | 
					
						
							|  |  |  |  |         'pinia', | 
					
						
							|  |  |  |  |         'axios', | 
					
						
							|  |  |  |  |         '@vueuse/core', | 
					
						
							|  |  |  |  |         'echarts', | 
					
						
							|  |  |  |  |         'vue-i18n', | 
					
						
							| 
									
										
										
										
											2023-04-06 11:28:38 +08:00
										 |  |  |  |         '@vueup/vue-quill', | 
					
						
							| 
									
										
										
										
											2024-04-16 17:41:30 +08:00
										 |  |  |  |         'image-conversion', | 
					
						
							| 
									
										
										
										
											2024-08-16 13:01:54 +08:00
										 |  |  |  |         'element-plus/es/components/**/css' | 
					
						
							| 
									
										
										
										
											2023-04-03 00:05:09 +08:00
										 |  |  |  |       ] | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  |   }; | 
					
						
							| 
									
										
										
										
											2023-04-02 01:01:56 +08:00
										 |  |  |  | }); |