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
| import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from "path"
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite';
import { ArcoResolver, NaiveUiResolver } from 'unplugin-vue-components/resolvers';
import { VarletImportResolver } from '@varlet/import-resolver'
import basicSSL from '@vitejs/plugin-basic-ssl'
// https://vitejs.dev/config/
export default defineConfig({
define: { // 定义全局变量替换方式
'process.env': process.env,
'process.env.NODE_ENV': '"development"',
__APP_VERSION__: JSON.stringify(require('./package.json').version),
__API_URL__: 'window.__backend_api_url',
},
plugins: [
vue(),
AutoImport({
resolvers: [ArcoResolver()],
}),
Components({
resolvers: [
ArcoResolver({
importStyle: 'less',
sideEffect: true,
}),
NaiveUiResolver(),
VarletImportResolver(),
],
}),
],
resolve: {
alias: {
"@": resolve(__dirname, "src"), // 设置'@'指向'src'
},
},
root: './', // index.html所在的位置,即根目录
base: './', // 设置打包路径,用于嵌入式开发
mode: process.env.NODE_ENV, // 设置模式,'development' 用于开发,'production' 用于构建(见define中的process.env.NODE_ENV)
publicDir: 'public', // 设置静态资源目录
cacheDir: 'node_modules/.vite', // 设置缓存目录
envDir: './', // 设置环境变量目录
css: {
preprocessorOptions: {
less: {
modifyVars: {
// 'primary-color': '#1890ff',
// 'link-color': '#1890ff',
// 'border-radius-base': '2px',
},
javascriptEnabled: true,
math: 'parens-division',
},
},
},
server: {
host: 'localhost', // 设置服务器启动地址,默认为'localhost
port: 5173, // 设置服务器启动端号,如果端口已经被使用,Vite 会自动尝试下一个可用的端口,所以这可能不是开发服务器最终监听的实际端口。
strictPort: false, // 设置是否严格检查端口号
open: false, // 设置服务启动时是否自动打开浏览器
cors: true, // 允许跨域
// proxy: {
// // 带选项写法:http://localhost:5173/api/bar -> http://jsonplaceholder.typicode.com/bar
// '/api': {
// target: 'http://jsonplaceholder.typicode.com',
// changeOrigin: true,
// rewrite: (path) => path.replace(/^\/api/, ''),
// },
// // 代理 websockets 或 socket.io 写法:ws://localhost:5173/socket.io -> ws://localhost:5174/socket.io
// '/socket.io': {
// target: 'ws://localhost:5174',
// ws: true,
// },
// },
},
})
|