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
| 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'
| const pathSrc = path.resolve(__dirname, 'src')
|
| // https://vitejs.dev/config/
| export default defineConfig({
| server: {
| proxy: {
| '/v1/': {
| target: 'http://192.168.20.119:8003',
| ws: true,
| changeOrigin: true
| }
| }
| },
| resolve: {
| alias: {
| '@': pathSrc
| },
| },
|
| build: {
| target:['chrome52'],
| cssTarget:["chrome52"],
| },
| 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')
| }),
|
| // 兼容低版本浏览器
| legacy({
| targets: ['defaults', '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']
| },
| // chainWebpack: (config) => {
| // config.entry('main').add('babel-polyfill')
| // },
| })
|
|