low-code/apps/y-code-v1/vite.config.ts
2025-03-28 16:12:53 +08:00

69 lines
1.5 KiB
TypeScript

import path from 'node:path';
import vue from '@vitejs/plugin-vue';
import vueJsx from '@vitejs/plugin-vue-jsx';
import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers';
import Components from 'unplugin-vue-components/vite';
import { defineConfig, loadEnv } from 'vite';
import mkcert from 'vite-plugin-mkcert';
import qiankun from 'vite-plugin-qiankun';
export default defineConfig(({ mode }) => {
const env = loadEnv(mode, process.cwd());
const isDev = env.VITE_NODE_ENV === 'development';
return {
plugins: [
vue(),
vueJsx(),
isDev && mkcert(),
qiankun('y-code-app', {
useDevMode: isDev,
}),
Components({
resolvers: [
AntDesignVueResolver({
importStyle: 'less',
}),
],
}),
],
server: isDev
? {
cors: true,
port: Number(env.VITE_PORT),
}
: undefined,
resolve: {
alias: {
'@': path.resolve(__dirname, './src'),
},
},
css: {
preprocessorOptions: {
less: {
javascriptEnabled: true, // 启用 Less 的 JavaScript 功能,通常用于 Ant Design
},
},
},
// 启用顶级 await 支持
esbuild: {
target: 'esnext',
supported: {
'top-level-await': true,
},
},
// 确保构建输出支持顶级 await
build: {
target: 'esnext',
// outDir: path.resolve(process.cwd(), "../../dist/y-code-v1"),
// emptyOutDir: true,
},
};
});