| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- import {
- defineConfig,
- type ConfigEnv,
- type UserConfig,
- type PluginOption,
- } from "vite";
- import vue from "@vitejs/plugin-vue";
- import { resolve } from "path";
- import { viteMockServe } from "vite-plugin-mock";
- export default defineConfig(({ mode }: ConfigEnv): UserConfig => {
- // mock 模式: npm run start (mode = 'mock')
- // 开发模式: npm run dev (mode = 'development')
- const isMock = mode === "mock";
- // 动态配置插件
- const plugins: PluginOption[] = [vue()];
- // 仅在 mock 模式下启用 mock 插件
- if (isMock) {
- plugins.push(
- viteMockServe({
- mockPath: "src/mock",
- localEnabled: true,
- prodEnabled: false,
- }),
- );
- }
- return {
- plugins,
- resolve: {
- alias: {
- "@": resolve(__dirname, "src"),
- },
- },
- server: {
- port: 5173,
- open: true,
- // mock 模式下禁用代理,让 mock 服务处理 /api 请求
- proxy: isMock
- ? undefined
- : {
- "/api": {
- target: "http://localhost:8997",
- changeOrigin: true,
- // rewrite: (path) => path.replace(/^\/api/upms/, '') // 如需移除 /api 前缀可取消注释
- },
- },
- },
- };
- });
|