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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
| import path from 'path'
| import { defineConfig } from 'vite'
| import vue from '@vitejs/plugin-vue'
| import AutoImport from 'unplugin-auto-import/vite'
| import Components from 'unplugin-vue-components/vite'
| import IconsResolver from 'unplugin-icons/resolver'
| import Icons from 'unplugin-icons/vite'
| import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
| // 打包 兼容低版本浏览器
| // import legacy from '@vitejs/plugin-legacy'
| // 开发环境兼容
| import esbuild from 'rollup-plugin-esbuild'
| const pathSrc = path.resolve(__dirname, 'src')
|
| // https://vitejs.dev/config/
| export default defineConfig({
| server: {
| proxy: {
| '/api-s/': {
| // http://192.168.20.119:8003 http://192.168.20.25:7010
| target: 'http://192.168.20.120:9081',
| ws: true,
| changeOrigin: true
| },
| '/api': {
| // http://192.168.20.119:8003 http://192.168.20.25:7010
| target: 'http://192.168.20.119:8001',
| ws: true,
| changeOrigin: true
| }
| }
| },
| resolve: {
| alias: {
| '@': pathSrc
| }
| },
|
| build: {
| minify: 'terser',
| // ,'edge90','firefox90','safari15'
| target: ['chrome52'],
| cssTarget: ['chrome52']
| },
| css: {
| postcss: {
| plugins: [
| require('postcss-pxtorem')({
| // ipad:1280-800
| rootValue: 160.0, //换算的基数, 屏幕宽度/10
| propList: ['*'] //需要转化的属性,*表示所有属性都需要转化
| // unitPrecision:5
| })
| ]
| }
| },
| plugins: [
| vue(),
| // element plus 自动导入
| AutoImport({
| // 自动导入 Vue 相关函数,如:ref, reactive, toRef 等
| // imports: ['vue'],
| // 自动导入 Element Plus 相关函数,如:ElMessage, ElMessageBox... (带样式)
| resolvers: [
| ElementPlusResolver(),
| // 自动导入图标组件
| IconsResolver({
| prefix: 'Icon'
| })
| ],
|
| dts: path.resolve(pathSrc, 'auto-imports.d.ts')
| }),
| // 开发环境兼容
| esbuild({
| target: 'chrome64',
| loaders: {
| '.vue': 'js',
| '.ts': 'js'
| }
| }),
| // 兼容低版本浏览器
| // legacy({
| // // ie >= 11
| // targets: ['defaults', 'not IE 11', 'chrome < 60','firefox < 59'], //需要兼容的目标列表,可以设置多个
| // additionalLegacyPolyfills: ['regenerator-runtime/runtime'],
| // // renderLegacyChunks: true,
| // modernPolyfills:true,
| // polyfills: [
| // 'es.symbol',
| // 'es.array.filter',
| // 'es.promise',
| // 'es.promise.finally',
| // 'es/map',
| // 'es/set',
| // 'es.array.for-each',
| // 'es.object.define-properties',
| // 'es.object.define-property',
| // 'es.object.get-own-property-descriptor',
| // 'es.object.get-own-property-descriptors',
| // 'es.object.keys',
| // 'es.object.to-string',
| // 'web.dom-collections.for-each',
| // 'esnext.global-this',
| // 'esnext.string.match-all'
| // ]
| // }),
| Components({
| resolvers: [
| // 自动注册图标组件
| IconsResolver({
| enabledCollections: ['ep']
| }),
| // 自动导入 Element Plus 组件
| ElementPlusResolver()
| ],
| dts: path.resolve(pathSrc, 'components.d.ts')
| }),
| Icons({
| autoInstall: true
| })
| ]
| // configureWebpack:config=>{
| // config.entry.app=['babel-polyfill','./src/main.js']
| // },
| // transpileDependencies:['*']
| // chainWebpack: (config) => {
| // config.entry('main').add('babel-polyfill')
| // },
| })
|
|