33 lines
1.1 KiB
TypeScript
33 lines
1.1 KiB
TypeScript
|
import { getPluginsList } from "./build/plugins";
|
||
|
import { exclude, include } from "./build/optimize";
|
||
|
import { type ConfigEnv, loadEnv, type UserConfigExport } from "vite";
|
||
|
import { __APP_INFO__, alias, root, wrapperEnv } from "./build/utils";
|
||
|
import { serverOptions } from "./build/server";
|
||
|
import { buildEnvironment } from "./build/buildEnv";
|
||
|
|
||
|
export default ({ mode }: ConfigEnv): UserConfigExport => {
|
||
|
const { VITE_CDN, VITE_PORT, VITE_COMPRESSION, VITE_PUBLIC_PATH } =
|
||
|
wrapperEnv(loadEnv(mode, root));
|
||
|
return {
|
||
|
base: VITE_PUBLIC_PATH,
|
||
|
root,
|
||
|
resolve: { alias },
|
||
|
// 服务端渲染
|
||
|
server: serverOptions(mode),
|
||
|
plugins: getPluginsList(VITE_CDN, VITE_COMPRESSION, VITE_PORT),
|
||
|
// https://cn.vitejs.dev/config/dep-optimization-options.html#dep-optimization-options
|
||
|
optimizeDeps: { include, exclude },
|
||
|
esbuild: {
|
||
|
pure: ["console.log", "debugger"],
|
||
|
jsxFactory: "h",
|
||
|
jsxFragment: "Fragment",
|
||
|
jsxInject: "import { h } from 'vue';"
|
||
|
},
|
||
|
build: buildEnvironment(),
|
||
|
define: {
|
||
|
__INTLIFY_PROD_DEVTOOLS__: false,
|
||
|
__APP_INFO__: JSON.stringify(__APP_INFO__)
|
||
|
}
|
||
|
};
|
||
|
};
|