vite_ts_auto/vite.config.ts

43 lines
1.3 KiB
TypeScript
Raw Permalink Normal View History

2024-05-28 10:22:20 +08:00
import { resolve } from 'path';
import { ConfigEnv, loadEnv, UserConfigExport } from 'vite';
// @ts-ignore
2024-05-28 10:22:20 +08:00
import { getPluginsList } from './build/plugins';
// @ts-ignore
2024-05-28 13:06:49 +08:00
import { buildEnvironment } from './build/buildEnv';
// @ts-ignore
2024-05-28 10:22:20 +08:00
import { serverOptions } from './build/server';
// @ts-ignore
2024-05-28 13:06:49 +08:00
import { exclude, include } from './build/optimize';
// @ts-ignore
2024-05-28 10:33:08 +08:00
import { pathResolve } from './build/utils.ts';
// @ts-ignore
import { create } from './build/version';
import { root, wrapperEnv } from './build/utils';
create();
2024-05-08 13:43:24 +08:00
2024-05-28 13:06:49 +08:00
export default ({ mode }: ConfigEnv): UserConfigExport => {
const { VITE_CDN, VITE_COMPRESSION, VITE_PORT, VITE_MOCK_SERVER_ENABLE } = wrapperEnv(loadEnv(mode, root));
2024-05-28 13:06:49 +08:00
return {
2024-05-28 10:22:20 +08:00
resolve: {
alias: {
'@': resolve(__dirname, './src'),
'vue-i18n': 'vue-i18n/dist/vue-i18n.cjs.js',
2024-05-28 10:33:08 +08:00
'@build': pathResolve(),
2024-05-28 10:22:20 +08:00
},
},
optimizeDeps: { include, exclude },
server: serverOptions(mode),
preview: serverOptions(mode),
plugins: getPluginsList(VITE_CDN, VITE_COMPRESSION, VITE_PORT, VITE_MOCK_SERVER_ENABLE),
2024-05-28 10:22:20 +08:00
esbuild: {
pure: ['console.log', 'debugger'],
jsxFactory: 'h',
jsxFragment: 'Fragment',
jsxInject: "import { h } from 'vue';",
},
// 配置构建过程的选项,例如是否生成压缩文件和源映射
build: buildEnvironment(),
2024-05-28 13:06:49 +08:00
};
};