-
Notifications
You must be signed in to change notification settings - Fork 16
/
vite.config.js
46 lines (43 loc) · 1.17 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
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path'
import { viteMockServe } from 'vite-plugin-mock'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
import vueSetupExtend from 'vite-plugin-vue-setup-extend'
import Icons from 'unplugin-icons/vite'
// https://vitejs.dev/config/
export default defineConfig(({ command }) => {
let prodMock = true
return {
resolve: {
alias: [
{ find: '@', replacement: path.resolve(__dirname, 'src') }
]
},
plugins: [
vue(),
mock(command, prodMock),
AutoImport({
resolvers: [ElementPlusResolver()],
}),
Components({
resolvers: [ElementPlusResolver()],
}),
vueSetupExtend(),
Icons(),
]
}
})
const mock = (command, prodMock) => {
return viteMockServe({
mockPath: 'mock',
localEnabled: command === 'serve',
prodEnabled: command !== 'serve' && prodMock,
injectCode: `
import { setupProdMockServer } from './mockProdServer'
setupProdMockServer()
`,
})
}