1.3 KiB
1.3 KiB
Cloud IaC 静态化设计
页面范围
/cloud_iac/cloud_iac/[provider]/cloud_iac/[provider]/[service]
数据来源
dashboard/lib/iac/catalog.ts提供所有 Provider 与服务分类。public/_build/cloud_iac_index.json在构建前由scripts/export-slugs.ts导出 Provider / Service 组合。
静态导出策略
- 在三个页面的模块顶端声明
export const dynamic = 'error',禁止运行时回退到动态渲染。 - 在
/cloud_iac/[provider]与/cloud_iac/[provider]/[service]中实现generateStaticParams(),从cloud_iac_index.json读取静态参数并导出dynamicParams = false。 - 使用
cloud_iac_index.json与catalog.ts的静态常量渲染页面内容,避免请求数据库或外部 API。 - 将任何
generateMetadata的逻辑提前到模块作用域,生成一次性常量metadata。
子任务拆分
- 数据导出:在
scripts/export-slugs.ts中读取catalog.ts,生成 Provider 和 Service 对应的 JSON 列表。 - 页面改造:为三个页面补充
dynamic = 'error'与静态参数生成逻辑,更新到使用 JSON 数据。 - 校验:在
scripts/check-build.js中增加对cloud_iac_index.json的完整性检查,确保 Provider 与 Service 数量均大于 0。