1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- import { defineConfig } from "vite";
- import vue from "@vitejs/plugin-vue";
- import path from "path";
- import { loadEnv } from "vite";
- import AutoImport from "unplugin-auto-import/vite";
- import Components from "unplugin-vue-components/vite";
- import { ElementPlusResolver } from "unplugin-vue-components/resolvers";
- export default defineConfig(({ mode }) => {
- const env = loadEnv(mode, process.cwd());
- const { VITE_APP_ENV, VITE_APP_BASE_API, VITE_APP_URL } = env;
- let buildConfig = {};
- if (mode === "test") {
- buildConfig = {
- outDir: "dist",
- // 测试环境的其他特定构建配置
- };
- } else if (mode === "prod") {
- buildConfig = {
- outDir: "dist",
- minify: "terser",
- // 生产环境的其他特定构建配置
- };
- }
- return {
- base: VITE_APP_ENV === "production" ? "/" : "/",
- plugins: [
- vue(),
- AutoImport({
- resolvers: [ElementPlusResolver()],
- }),
- Components({
- resolvers: [ElementPlusResolver()],
- }),
- ],
- css: {
- preprocessorOptions: {
- less: {
- javascriptEnabled: true,
- },
- },
- },
- resolve: {
- alias: {
- "@": path.resolve(__dirname, "./src"),
- },
- extensions: [".mjs", ".js", ".ts", ".jsx", ".tsx", ".json", ".vue"],
- },
- server: {
- port: 80,
- host: true,
- hmr: true,
- open: true,
- proxy: {
- [VITE_APP_BASE_API]: {
- target: VITE_APP_URL,
- changeOrigin: true,
- rewrite: (p) => p.replace(/^\/dev-api/, ""),
- },
- },
- },
- build: buildConfig,
- };
- });
|