Explorar el Código

修复 npm run start 报错问题

- 移除 vite-plugin-mock 的 injectCode 配置(v3版本不再导出 createProdMockServer)
- mock 模式下禁用代理,避免与 mock 服务冲突

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
tanlie hace 3 semanas
commit
a6c4ff95bb
Se han modificado 2 ficheros con 87 adiciones y 0 borrados
  1. 35 0
      .gitignore
  2. 52 0
      vite.config.ts

+ 35 - 0
.gitignore

@@ -0,0 +1,35 @@
+# Dependencies
+node_modules
+.pnp
+.pnp.js
+
+# Production build
+dist
+dist-ssr
+*.local
+
+# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
+.idea
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
+
+# OS files
+.DS_Store
+Thumbs.db
+
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+# Claude
+.claude/

+ 52 - 0
vite.config.ts

@@ -0,0 +1,52 @@
+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:8998",
+              changeOrigin: true,
+              // rewrite: (path) => path.replace(/^\/api/upms/, '') // 如需移除 /api 前缀可取消注释
+            },
+          },
+    },
+  };
+});