-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathvite.config.ts
61 lines (56 loc) · 1.65 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
import dayjs from 'dayjs';
import path from 'path';
import type { ConfigEnv, UserConfig } from 'vite';
import { PORT, VITE_BASE_PATH, VITE_DROP_CONSOLE } from './config/constant';
import { themeVariables } from './config/theme';
import { createVitePlugins } from './config/vite/plugins';
import { createProxy } from './config/vite/proxy';
import pkg from './package.json';
const { dependencies, devDependencies, name, version } = pkg;
const __APP_INFO__ = {
pkg: { dependencies, devDependencies, name, version },
lastBuildTime: dayjs().format('YYYY-MM-DD HH:mm:ss'),
};
// 函数式配置
export default ({ command, mode }: ConfigEnv): UserConfig => {
const isBuild = command === 'build';
console.log({ command, mode });
return {
base: VITE_BASE_PATH,
plugins: createVitePlugins(mode, isBuild),
css: {
preprocessorOptions: {
less: {
javascriptEnabled: true,
modifyVars: themeVariables,
},
},
},
resolve: {
alias: [
{ find: /^~/, replacement: path.resolve(__dirname, './') },
{ find: '@', replacement: path.resolve(__dirname, 'src') },
{ find: '@c', replacement: path.resolve(__dirname, 'config') },
],
},
server: {
host: true,
port: PORT, // 开发环境启动的端口
proxy: createProxy(),
},
build: {
minify: 'terser',
terserOptions: {
compress: {
keep_infinity: true,
// Used to delete console in production environment
drop_console: VITE_DROP_CONSOLE,
},
},
},
define: {
// 设置应用信息
__APP_INFO__: JSON.stringify(__APP_INFO__),
},
};
};