Deno 下一代 Web 框架 Fresh
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/fresh-deno-web-framework,以便在 AI 助手中使用该技能。
技能介绍
为什么 Deno Web 开发需要它
传统 Deno Web 框架常陷入全量客户端 hydration 的困境:页面无论是否需要交互,都会向客户端发送 JavaScript,导致首屏加载慢;路由配置需要手动编写或依赖额外工具,文件系统路由的约定不明确;TypeScript 支持需要额外配置,类型安全难以开箱即用,开发流程被繁琐的脚手架和配置拖慢。
它如何重构开发逻辑
该框架采用 island-based hydration 架构,将页面拆分为静态内容与需要交互的「岛屿」区域。默认状态下不会向客户端推送任何 JavaScript,仅在用户触发交互(如点击、滚动)时,才按需激活对应岛屿,避免全量 hydration 的资源浪费。
核心能力包括:
- 内置文件系统路由,通过
app/routes目录结构自动映射路由规则 - 原生 TypeScript 支持,无需额外配置即可获得类型检查与推导能力
- 零 JavaScript 默认交付,大幅降低首屏体积与加载耗时
关键开发步骤:
- 通过 init 脚本快速生成项目脚手架
- 在
app/routes下创建文件,自动生成对应路由 - 仅在需要交互的组件上添加 island 标记,按需启用 hydration
适用边界与注意点
该框架更适合内容优先、交互相对轻量的 Web 应用。对于重度依赖浏览器 API(如 WebGL、复杂表单实时校验)的场景,需要手动增加 island 标记,避免交互延迟;文件路由的嵌套结构需遵循约定,过度复杂的目录层级会增加维护成本;虽然原生支持 TypeScript,但复杂类型定义仍需开发者自行管理类型边界,避免类型膨胀影响构建性能。
使用场景
- 为内容站(博客、文档)搭建首页,希望首屏不加载任何客户端脚本,仅交互组件按需激活
- 在 Deno 项目里新增多个页面,不想手写路由配置,直接按 `app/routes` 目录结构生成路由
- 构建 TypeScript 全栈应用,希望路由与组件的类型提示开箱即用,不额外配 tsconfig
- 优化页面加载速度,在静态内容为主的前提下,把 JavaScript 体积压到接近零
适合人员
- 用 Deno 做后端的工程师,想快速搭起带前端渲染的服务端渲染应用
- 关注首屏性能的前端工程师,需要把客户端 JavaScript 控制在最低限度
- 习惯 TypeScript 全栈开发的工程师,希望路由与组件的类型安全默认可用
- 维护内容站的技术负责人,想减少页面交互改造带来的额外脚本体积