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
89
90
91
92
93
94
95
96
97
98
99
100
| /*
| * @Date: 2025-05-27 23:44:41
| * @LastEditors: gaoshp
| * @LastEditTime: 2025-06-16 11:56:09
| * @FilePath: /mdmweb/vite.config.mjs
| */
| import {
| defineConfig,
| loadEnv
| } from 'vite';
| import { resolve } from 'path'
| import createVitePlugins from './vite/plugins';
| // https://vitejs.dev/config/
| export default ({
| mode,
| command
| }) => {
| let target = 'http://120.46.212.231:80';
| if(mode === 'test') {
| target = 'http://localhost:80';
| console.log('当前环境:',mode,command);
| }
| const env = loadEnv(mode, process.cwd())
| const {
| VITE_APP_ENV,
| VITE_APP_BASE
| } = env
| // 判断是打生产环境包
| const isProd = VITE_APP_ENV === 'production'
|
| // 根据是否生产环境,动态设置压缩配置
| const buildConfig = {
| target: 'esnext',
| minify: isProd ? 'terser' : 'esbuild', // 根据环境选择压缩工具
| };
|
| // 如果是生产环境,添加Terser的配置
| if (isProd) {
| buildConfig.terserOptions = {
| compress: {
| drop_console: true, // 删除 console
| drop_debugger: true, // 删除 debugger
| },
| format: {
| comments: false // 删除所有注释
| }
| };
| buildConfig.rollupOptions = {
| output: {
| manualChunks: {
| 'element-plus': ['element-plus'],
| '@smallwei/avue': ['@smallwei/avue']
| },
| }
| }
| }
| return defineConfig({
| base: VITE_APP_BASE,
| define: {
| __VUE_I18N_FULL_INSTALL__: true,
| __VUE_I18N_LEGACY_API__: true,
| __INTLIFY_PROD_DEVTOOLS__: false
| },
| server: {
| port: 2888,
| proxy: {
| '/api': {
| target,
| //target: 'https://saber3.bladex.cn/api',
| changeOrigin: true,
| rewrite: path => path.replace(/^\/api/, ''),
| },
| },
| },
| resolve: {
| alias: {
| '~': resolve(__dirname, './'),
| '@': resolve(__dirname, './src'),
| components: resolve(__dirname, './src/components'),
| styles: resolve(__dirname, './src/styles'),
| utils: resolve(__dirname, './src/utils'),
| },
| },
| css: {
| preprocessorOptions: {
| scss: {
| api: 'modern-compiler',
| additionalData: `@use "@/styles/variables.scss" as *;`,
| },
| },
| },
| plugins: createVitePlugins(env, command === 'build'),
| build: buildConfig,
| optimizeDeps: {
| esbuildOptions: {
| target: 'esnext',
| },
| },
| });
| };
|
|