-
Notifications
You must be signed in to change notification settings - Fork 3
/
vite.config.js
71 lines (71 loc) · 1.81 KB
/
vite.config.js
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
import { defineConfig, loadEnv } from 'vite'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import json5Plugin from 'vite-plugin-json5'
import vue from '@vitejs/plugin-vue'
import path from 'path'
// https://vitejs.dev/config/
export default defineConfig(({ mode }) => {
const env = loadEnv(mode, path.resolve(process.cwd(), 'vue'))
// console.log('当前模式:', mode)
// console.log('当前环境:', env)
// 如果使用mock模式,不使用代理
const proxy = {
'/api': {
target: env.VITE_SERVER_PROXY,
changeOrigin: true
}
}
return {
// 服务插件
plugins: [
json5Plugin(),
vue(),
// 自动化导入
AutoImport({
imports: ['vue', 'vue-router'],
dts: 'auto-imports.d.ts',
eslintrc: {
enabled: true
}
}),
// 自动导入组件,自定义组件库
Components({
// 指定组件所在文件夹的位置
dirs: ['src/components', 'src/layouts'],
// 文件扩展名
extensions: ['vue'],
// 配置type文件生成位置
dts: 'components.d.ts'
})
],
root: 'vue',
// 重定向
resolve: {
alias: {
'@swanlab-vue': path.resolve(__dirname, 'vue/src')
}
},
// 标明编译后存放的位置
build: {
outDir: path.resolve(__dirname, 'swanboard/template'),
emptyOutDir: true,
minify: 'terser',
// 根据模式应用不同的 terser 配置
terserOptions: {
// 生产环境移除console
compress: {
drop_console: mode === 'release',
drop_debugger: mode === 'release'
}
}
},
// 服务配置
server: {
proxy,
host: '0.0.0.0',
port: 5175,
open: '.'
}
}
})