frontend-architecture · git:20260730.6ee304a · 2026-07-30 · sha256 4af9a690106af964
frontend-architecture git:20260730.6ee304aA
Immutable. This exact content is served forever at /api/v1/blob/4af9a690106af964.
--- name: frontend-architecture description: 前端架构专家 Owner — 当任务涉及页面、组件、状态管理、数据获取、异步缓存、SSR/Nuxt、runtime config、i18n、SSE、空白页、性能、可访问性或前端验证路线时使用;要求优先保证旧数据可见、异步刷新、渲染稳定和用户主路径不断线。 --- # Frontend Architecture Skill ## 定位 本 Skill 负责前端架构 Owner 视角。它把 UI/交互需求落实到渲染策略、组件边界、状态模型、异步数据、缓存、错误恢复、性能与验证路线,避免页面在返回、刷新或接口抖动时变成空白。 ## 触发条件 | 场景 | 是否触发 | |------|:--------:| | 首页、列表、详情、表单、后台、文档站或任意前端页面开发/修复 | 必须 | | 涉及接口数据、缓存、异步请求、SSE、SSR、runtime config、i18n、路由返回 | 必须 | | 用户指出空白页、loading-only、同步请求、缓存缺失、页面还原差或交互断点 | 必须 | | 仅后端内部逻辑且无前端消费 | N/A + skipReason | ## 核心门禁 | Gate | 要求 | 证据 | |------|------|------| | `FrontendArchitectureOwnerGate` | 前端方案必须覆盖渲染策略、状态模型、异步缓存和验证路线 | 源码、运行截图、组件测试、E2E、API mock | | `FrontendAsyncCacheRenderGate` | 首页、详情、列表有旧数据时先显示旧数据,异步刷新替换 | cache policy、store、route transition evidence | | `StaleWhileRevalidateGate` | 不得把 loading-only 当主路径;网络慢或失败时保留可用状态 | fallback / stale data / retry | | `BlankPagePreventionGate` | 返回、刷新、错误、权限、空数据、SSR hydration 不能出现无解释空白 | route guard、error boundary、empty state | | `RuntimeConfigI18nGate` | runtime config、环境变量、i18n、时区和文案不得写死破坏多环境 | config evidence | | `FrontendVerificationBudgetGate` | 未被明确要求打开浏览器时,按风险选择静态/组件/API/E2E;高风险或用户要求才浏览器验证 | test-router evidence | ## 执行步骤 1. 确定渲染策略:CSR、SSR、SSG、island、client-only、suspense 或 hydration 边界。 2. 建立状态模型:server state、client state、表单草稿、缓存键、失效策略和路由返回恢复。 3. 设计异步数据:先渲染旧缓存或骨架的条件、刷新、错误、重试、取消和竞态处理。 4. 检查 runtime config、i18n、SSE、长连接、权限和鉴权状态对页面的影响。 5. 定义组件边界:复用条件、props contract、事件、可访问性和布局稳定性。 6. 选择验证路线:静态检查、单元/组件、API mock、E2E、截图或浏览器交互;记录跳过浏览器的理由。 ## 输出字段 ```markdown ## FrontendArchitectureOwnerGate | 字段 | 内容 | |------|------| | renderingStrategy | CSR / SSR / SSG / hydration / client-only 边界 | | stateModel | server state、client state、draft、cache key 和 invalidation | | asyncCachePolicy | stale-while-revalidate、旧数据展示、刷新、错误和重试 | | runtimeConfig | 环境、baseURL、feature flag、权限、i18n、时区 | | i18nSseHandling | i18n、SSE/stream、长连接和订阅生命周期 | | blankPagePrevention | 空态、错误边界、返回恢复、权限和无数据展示 | | verificationRoute | 静态/组件/API/E2E/截图/浏览器验证与 skipReason | ``` ## 反模式 | 反模式 | 修正 | |--------|------| | 详情页请求未完成前直接清空页面 | 先显示缓存或 last-known-good 数据,再异步刷新 | | 把接口请求写成阻塞同步流程 | 改成异步请求、取消竞态和状态机 | | 浏览器验证无条件触发,消耗大量时间 | 由风险和用户要求决定,低风险可用静态/组件/API 证据 | | 只按截图还原颜色,不检查交互状态 | 结合 UX 状态反馈、缓存和错误恢复验证 | ## 与其他 Skill 的关系 - `ux-interaction-architecture`:提供任务流、状态反馈和恢复要求。 - `developer-experience-architecture`:前端示例、文档站和组件 API 面向开发者时叠加。 - `audit-project` / `test-router`:负责把前端风险映射到测试路线。 - `expert-output-quality`:前端方案和示例必须区分推荐架构与临时 demo。