forked from pengxiaotian/datav-vue
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathvite.config.ts
108 lines (101 loc) · 2.62 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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
import type { ConfigEnv } from 'vite'
import { loadEnv, defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import plainText from 'vite-plugin-plain-text'
import styleImport from 'vite-plugin-style-import'
import { resolve } from 'path'
function pathResolve(dir: string) {
return resolve(process.cwd(), '.', dir)
}
// https://vitejs.dev/config/
export default ({ mode }: ConfigEnv) => {
const dirRoot = process.cwd()
const env = loadEnv(mode, dirRoot)
const prefix = 'monaco-editor/esm/vs'
return defineConfig({
base: env.VITE_PUBLIC_PATH,
plugins: [
vue(),
plainText(/\.hbs$/),
styleImport({
libs: [{
libraryName: 'element-plus',
esModule: true,
ensureStyleFile: true,
resolveStyle: name => {
return `element-plus/packages/theme-chalk/src/${name.slice(3)}.scss`
},
}],
}),
],
css: {
preprocessorOptions: {
scss: {
additionalData: `$--color-primary: #2483ff;`,
},
},
},
server: {
host: '0.0.0.0',
port: 9090,
},
resolve: {
alias: {
'@': pathResolve('./src'),
'vue-i18n': pathResolve('./node_modules/vue-i18n/dist/vue-i18n.cjs.js'),
},
},
define: {
// setting vue-i18-next
// Suppress warning
__INTLIFY_PROD_DEVTOOLS__: false,
__DEV__: process.env.NODE_ENV !== 'production',
},
optimizeDeps: {
include: [
'accounting',
'axios',
'axios-mock-adapter',
'crypto-js',
'dayjs',
'echarts',
'element-plus',
'gsap',
'html2canvas',
'js-cookie',
'lodash-es',
'mockjs',
`${prefix}/editor/editor.worker`,
`${prefix}/language/json/json.worker`,
`${prefix}/language/css/css.worker`,
`${prefix}/language/html/html.worker`,
`${prefix}/language/typescript/ts.worker`,
'particles.vue3',
'shortid',
'vue',
'vue-i18n',
'vue-router',
'vuex',
'vuex-module-decorators',
],
exclude: [],
},
build: {
sourcemap: false,
outDir: 'website',
rollupOptions: {
output: {
manualChunks: {
editorWorker: [`${prefix}/editor/editor.worker`],
jsonWorker: [`${prefix}/language/json/json.worker`],
cssWorker: [`${prefix}/language/css/css.worker`],
htmlWorker: [`${prefix}/language/html/html.worker`],
tsWorker: [`${prefix}/language/typescript/ts.worker`],
},
},
},
},
esbuild: {
},
})
}