|
@@ -85,6 +85,20 @@ for (const api of VUE_APIS) defineMap[api] = `Vue.${api}`;
|
|
|
for (const api of VUE_ROUTER_APIS) defineMap[api] = `VueRouter.${api}`;
|
|
for (const api of VUE_ROUTER_APIS) defineMap[api] = `VueRouter.${api}`;
|
|
|
for (const api of PINIA_APIS) defineMap[api] = `Pinia.${api}`;
|
|
for (const api of PINIA_APIS) defineMap[api] = `Pinia.${api}`;
|
|
|
|
|
|
|
|
|
|
+/**
|
|
|
|
|
+ * Vue 编译期特性开关(SFC 编译器 / @vitejs/plugin-vue 产物会引用这些裸标识符)。
|
|
|
|
|
+ *
|
|
|
|
|
+ * 必须在此显式 define,原因:本项目框架层全走 UMD 全局(index.html <script> 自托管),
|
|
|
|
|
+ * UMD 构建不在 window 上声明这些 flag。若某条编译产物(尤其复杂模板的 render 函数)
|
|
|
|
|
+ * 输出 `if (__VUE_PROD_DEVTOOLS__) {…}` 分支,而 define 未内联 → 浏览器把裸标识符当
|
|
|
|
|
+ * 全局变量求值 → `ReferenceError: __VUE_PROD_DEVTOOLS__ is not defined`(仅命中该分支
|
|
|
|
|
+ * 的页面白屏/无响应,其余页面正常)。
|
|
|
|
|
+ * 生产语义:prod 构建关闭 devtools 钩子与 dev 告警 → 全部置 false。
|
|
|
|
|
+ */
|
|
|
|
|
+defineMap.__VUE_OPTIONS_API__ = 'true'; // 使用 Options API(EP 组件均为 Options API)
|
|
|
|
|
+defineMap.__VUE_PROD_DEVTOOLS__ = 'false'; // prod 不启用 devtools 钩子(与 prod UMD 一致)
|
|
|
|
|
+defineMap.__VUE_PROD_HYDRATION_MISMATCH_DETAILS__ = 'false'; // 非 SSR 项目,关闭水合差异详情
|
|
|
|
|
+
|
|
|
export default defineConfig(({ command, mode }) => {
|
|
export default defineConfig(({ command, mode }) => {
|
|
|
// 契约 §4 四层口径(v0.1.24 定稿):所有对外请求 = /api + 相对路径,无一例外;
|
|
// 契约 §4 四层口径(v0.1.24 定稿):所有对外请求 = /api + 相对路径,无一例外;
|
|
|
// 前端调用路径自带 /api,vite rewrite 无条件去前缀,后端路由一律不含 /api。
|
|
// 前端调用路径自带 /api,vite rewrite 无条件去前缀,后端路由一律不含 /api。
|