mirror of
https://gitee.com/bootx/dax-pay-ui.git
synced 2025-09-08 05:08:03 +00:00
93 lines
2.3 KiB
TypeScript
93 lines
2.3 KiB
TypeScript
import type { UserConfig, ConfigEnv } from 'vite';
|
||
import { resolve } from 'path';
|
||
import vue from '@vitejs/plugin-vue';
|
||
import vueJsx from '@vitejs/plugin-vue-jsx';
|
||
import legacy from '@vitejs/plugin-legacy';
|
||
|
||
import { loadEnv } from 'vite';
|
||
|
||
import { modifyVars } from './build/config/lessModifyVars';
|
||
import { createProxy } from './build/vite/proxy';
|
||
import { configManualChunk } from './build/vite/optimizer';
|
||
|
||
import { wrapperEnv } from './build/utils';
|
||
|
||
import { createVitePlugins } from './build/vite/plugin';
|
||
|
||
const pkg = require('./package.json');
|
||
|
||
function pathResolve(dir: string) {
|
||
return resolve(__dirname, '.', dir);
|
||
}
|
||
|
||
const root: string = process.cwd();
|
||
|
||
export default ({ command, mode }: ConfigEnv): UserConfig => {
|
||
const env = loadEnv(mode, root);
|
||
const viteEnv = wrapperEnv(env);
|
||
const { VITE_PORT, VITE_PUBLIC_PATH, VITE_PROXY, VITE_DROP_CONSOLE, VITE_LEGACY } = viteEnv;
|
||
|
||
const isBuild = command === 'build';
|
||
|
||
return {
|
||
root,
|
||
alias: {
|
||
'/@/': `${pathResolve('src')}/`,
|
||
},
|
||
server: {
|
||
port: VITE_PORT,
|
||
proxy: createProxy(VITE_PROXY),
|
||
hmr: {
|
||
overlay: true,
|
||
},
|
||
},
|
||
build: {
|
||
base: VITE_PUBLIC_PATH,
|
||
terserOptions: {
|
||
compress: {
|
||
keep_infinity: true,
|
||
drop_console: VITE_DROP_CONSOLE,
|
||
},
|
||
},
|
||
// minify: 'esbuild',
|
||
rollupOptions: {
|
||
output: {
|
||
compact: true,
|
||
manualChunks: configManualChunk,
|
||
},
|
||
},
|
||
},
|
||
define: {
|
||
__VERSION__: pkg.version,
|
||
// setting vue-i18-next
|
||
// Suppress warning
|
||
__VUE_I18N_LEGACY_API__: false,
|
||
__VUE_I18N_FULL_INSTALL__: false,
|
||
__INTLIFY_PROD_DEVTOOLS__: false,
|
||
},
|
||
css: {
|
||
preprocessorOptions: {
|
||
less: {
|
||
modifyVars: {
|
||
// reference : Avoid repeated references
|
||
hack: `true; @import (reference) "${resolve('src/design/config.less')}";`,
|
||
...modifyVars,
|
||
},
|
||
javascriptEnabled: true,
|
||
},
|
||
},
|
||
},
|
||
|
||
plugins: [
|
||
vue(),
|
||
vueJsx(),
|
||
...(VITE_LEGACY && isBuild ? [legacy()] : []),
|
||
...createVitePlugins(viteEnv, isBuild, mode),
|
||
],
|
||
|
||
optimizeDeps: {
|
||
include: ['ant-design-vue/es/locale/zh_CN', 'ant-design-vue/es/locale/en_US'],
|
||
},
|
||
};
|
||
};
|