-
Notifications
You must be signed in to change notification settings - Fork 13
/
vite.config.ts
92 lines (90 loc) · 2.53 KB
/
vite.config.ts
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
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path'
import vueJsx from '@vitejs/plugin-vue-jsx'
import styleImport from 'vite-plugin-style-import'
import viteCompression from 'vite-plugin-compression'
// https://vitejs.dev/config/
export default defineConfig({
resolve: {
alias: {
'@': path.join(__dirname, './src'),
'@views': path.join(__dirname, './src/views'),
'@components': path.join(__dirname, './src/components'),
'@utils': path.join(__dirname, './src/utils'),
'@public': path.join(__dirname, './src/public'),
},
},
esbuild: {
jsxFactory: 'h',
jsxFragment: 'Fragment',
jsxInject: "import { h } from 'vue';",
},
build: {
chunkSizeWarningLimit: 500,
minify: 'terser',
cssCodeSplit: true, // 如果设置为false,整个项目中的所有 CSS 将被提取到一个 CSS 文件中
terserOptions: {
compress: {
drop_console: true, //打包时删除console
drop_debugger: true, //打包时删除 debugger
pure_funcs: ['console.log'],
},
},
rollupOptions: {
output: {
manualChunks: {
// 拆分代码,这个就是分包,配置完后自动按需加载,现在还比不上webpack的splitchunk,不过也能用了。
vue: ['vue', 'vue-router', 'vuex'],
'ant-design-vue': ['ant-design-vue'],
},
},
},
brotliSize: false,
},
plugins: [
vue(),
vueJsx(),
styleImport({
libs: [
{
libraryName: 'ant-design-vue',
esModule: true,
resolveStyle: (name) => {
return `ant-design-vue/es/${name}/style/index`
},
},
],
}),
// 打包压缩,主要是本地gzip,如果服务器配置压缩也可以
viteCompression(),
],
css: {
preprocessorOptions: {
less: {
modifyVars: {
// 更改主题在这里
'link-color': '#1DA57A',
'border-radius-base': '2px',
},
javascriptEnabled: true,
},
},
},
server: {
host: '0.0.0.0',
port: 4000, // 设置服务启动端口号
open: false, // 设置服务启动时是否自动打开浏览器
https: false,
cors: true, // 允许跨域
// 设置代理,根据我们项目实际情况配置
proxy: {
'/dbd-authority': {
target: 'http://192.168.1.11:9000/dbd-authority',
changeOrigin: true,
secure: false,
rewrite: (path) => path.replace('/dbd-authority/', ''),
},
},
},
})