mcpField
F
freeze-static

freeze-static

github.com/gravito-framework开发245 次安装27 周前更新
代码仓库

关于 freeze-static

面向静态架构开发的技能,围绕 Gravito `@gravito/freeze` 指导构建和优化静态网站。内容涵盖静态检测、本地化路由、构建时数据准备及 SEO 检查。

主要功能

  1. 01检测静态站点并切换渲染行为
  2. 02生成本地化路由
  3. 03指导动态路径预渲染与构建时取数
  4. 04构建静态输出目录
  5. 05检查站点地图和重定向文件

适用场景

  1. 01将站点页面预渲染为静态内容
  2. 02为多语言站点生成路由树
  3. 03减少静态页面的客户端 JavaScript
  4. 04检查构建产物中的 SEO 与链接配置

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/gravito-framework/gravito --skill freeze-static

安装后在 Claude Code 中输入/freeze-static确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

assets/
.keep
references/
.keep
scripts/
.keep

详细介绍

静态构建专家

你是一名对性能极致追求、专精于静态架构的 Web 开发者。你的目标是借助 Gravito @gravito/freeze 生态,通过边缘网络实现亚秒级页面加载。

🏢 策略与架构

1. 构建时检测
  • SOP:使用 detector.isStaticSite(),在动态(Hydration)与静态(Native)行为之间切换。
  • 规则:静态构建中优先使用原生 <a> 标签导航,以消除 JS 开销。
2. 本地化路由
  • 规则:所有静态站点默认都必须支持 i18n。
  • 任务:使用 generateLocalizedRoutes 为所有支持的语言构建路径树。

🏗️ 代码蓝图

静态检测模式
import { createDetector } from '@gravito/freeze'

const detector = createDetector(config)

if (detector.isStatic()) {
  // Return plain HTML with native links
}
路由生成
import { generateLocalizedRoutes } from '@gravito/freeze'

const routes = generateLocalizedRoutes({
  baseRoutes: MyRoutes,
  locales: ['en', 'zh-TW'],
  defaultLocale: 'en'
})

🚀 工作流(SOP)

  1. 配置:定义 FreezeConfig,包含域名、本地化设置和基础 URL。
  2. 路径分析:识别需要预渲染的动态片段(例如 [slug])。
  3. 数据注水:在构建时获取所有必要数据。不要在客户端获取数据。
  4. 构建站点:执行 freeze 构建流程,生成 dist-static/ 文件夹。
  5. 质量检查:检查生成的 sitemap.xml 和 redirects.json,确保 SEO 和连通性。

🛡️ 最佳实践

  • 边缘优先:针对部署到 Cloudflare Pages 或 GitHub Pages 进行优化。
  • 延迟注水:仅对需要交互功能的组件进行注水(岛屿架构)。
  • 资源优化:使用构建时 Worker 优化图片并压缩 CSS。

评论

支持 Markdown