2022-04-27 19:01:54 +08:00
|
|
|
import { fileURLToPath } from 'url';
|
2021-11-29 09:19:15 +08:00
|
|
|
import { defineConfig, loadEnv } from 'vite';
|
2022-04-27 19:01:54 +08:00
|
|
|
import { viteDefine, setupVitePlugins, createViteProxy } from './build';
|
2022-04-27 22:27:46 +08:00
|
|
|
import { getEnvConfig } from './.env-config';
|
2021-05-28 00:32:34 +08:00
|
|
|
|
2022-04-01 14:47:57 +08:00
|
|
|
export default defineConfig(configEnv => {
|
2022-04-04 17:30:26 +08:00
|
|
|
const viteEnv = loadEnv(configEnv.mode, process.cwd()) as ImportMetaEnv;
|
2022-04-27 19:01:54 +08:00
|
|
|
|
|
|
|
const rootPath = fileURLToPath(new URL('./', import.meta.url));
|
|
|
|
const srcPath = `${rootPath}src`;
|
2022-03-12 19:32:15 +08:00
|
|
|
|
2022-04-27 22:27:46 +08:00
|
|
|
const isOpenProxy = viteEnv.VITE_HTTP_PROXY === 'true';
|
|
|
|
const envConfig = getEnvConfig(viteEnv);
|
|
|
|
|
2021-11-29 09:19:15 +08:00
|
|
|
return {
|
2022-03-05 01:55:21 +08:00
|
|
|
base: viteEnv.VITE_BASE_URL,
|
2021-11-29 09:19:15 +08:00
|
|
|
resolve: {
|
|
|
|
alias: {
|
2022-04-27 19:01:54 +08:00
|
|
|
'~': rootPath,
|
|
|
|
'@': srcPath
|
2022-04-01 14:47:57 +08:00
|
|
|
}
|
2021-11-29 09:19:15 +08:00
|
|
|
},
|
2022-03-13 16:47:19 +08:00
|
|
|
define: viteDefine,
|
2022-04-27 19:01:54 +08:00
|
|
|
plugins: setupVitePlugins(viteEnv, srcPath),
|
2021-11-29 09:19:15 +08:00
|
|
|
css: {
|
|
|
|
preprocessorOptions: {
|
|
|
|
scss: {
|
2022-04-01 14:47:57 +08:00
|
|
|
additionalData: `@use "./src/styles/scss/global.scss" as *;`
|
|
|
|
}
|
|
|
|
}
|
2021-11-29 09:19:15 +08:00
|
|
|
},
|
|
|
|
server: {
|
2021-11-29 10:57:29 +08:00
|
|
|
host: '0.0.0.0',
|
2022-04-03 01:07:25 +08:00
|
|
|
port: 3200,
|
2022-03-12 16:21:40 +08:00
|
|
|
open: true,
|
2022-04-27 22:27:46 +08:00
|
|
|
proxy: createViteProxy(isOpenProxy, envConfig)
|
2022-01-04 13:53:07 +08:00
|
|
|
},
|
|
|
|
build: {
|
2022-04-01 14:47:57 +08:00
|
|
|
brotliSize: false
|
|
|
|
}
|
2021-11-29 09:19:15 +08:00
|
|
|
};
|
2021-05-28 02:22:49 +08:00
|
|
|
});
|