WebVue/vite.config.ts
owenchen d0a487e69e ow
2026-05-12 10:49:11 +08:00

55 lines
1.3 KiB
TypeScript

import { resolve } from "node:path";
import { loadEnv } from "vite";
import vue from "@vitejs/plugin-vue";
import vueJsx from "@vitejs/plugin-vue-jsx";
import topLevelAwait from "vite-plugin-top-level-await";
import dayjs from "dayjs";
import pkg from "./package.json";
import type { UserConfig, ConfigEnv } from "vite";
const CWD = process.cwd();
const __APP_INFO__ = {
pkg,
lastBuildTime: dayjs().format("YYYY-MM-DD HH:mm:ss"),
};
// https://vitejs.dev/config/
export default ({ command, mode }: ConfigEnv): UserConfig => {
// 环境变量
const { VITE_BASE_URL, VITE_DROP_CONSOLE } = loadEnv(mode, CWD);
const isBuild = command === "build";
return {
base: VITE_BASE_URL,
define: {
__APP_INFO__: JSON.stringify(__APP_INFO__),
},
resolve: {
alias: [
{
find: "@",
replacement: resolve(__dirname, "./src"),
},
],
},
plugins: [
vue(),
vueJsx(),
topLevelAwait({
// The export name of top-level await promise for each chunk module
promiseExportName: "__tla",
// The function to generate import names of top-level await promise in each chunk module
promiseImportName: (i) => `__tla_${i}`,
}),
],
server: {
host: "0.0.0.0",
port: 8088,
},
};
};