H3 社区生态

2026-10-30 17:48 更新

官方在工具函数章节专门留了一页给社区库。这一页本身只是清单,没有技术内容,但它回答了一个实际问题:H3 缺的能力,哪些已经有人做了。

以下六个是目前列在 v2 兼容清单里的项目(2026-10-30 核对)。

六个社区项目

项目 定位 适合什么场景
Apitally API 监控、分析、请求日志 想快速拿到接口调用量、延迟、错误率报表
H3ravel 建在 H3 之上的全栈框架,Laravel 风格 团队有 PHP 背景,偏好约定优于配置
Intlify srvmid 国际化(i18n)中间件与服务端工具 需要多语言路由、语言协商
Clear Router Laravel 风格路由,支持 H3 与 Express 想要控制器绑定与更声明式的路由写法
unjwt 底层 JWT 工具(JWS / JWE / JWK),零依赖,含 H3 v2 适配器 需要签名或加密的 token 会话
Arkstack 运行时无关的 TypeScript 后端框架 想要开箱的项目结构、DI、模块划分

把它们按「补什么」分类,会更好判断要不要引入:

补的能力 对应项目
可观测性(监控、日志) Apitally
国际化的路由与协商 Intlify srvmid
路由写法与项目结构(框架层) H3ravel、Clear Router、Arkstack
加密/签名的 token unjwt

三条选型建议

第一,先确认 v2 兼容。 H3 v2 有大量破坏性变更(createApp 变成 new H3()、send* 改成 return、event.web 改名等,见 8.1)。一个库如果还写着 defineEventHandler,装上来大概率跑不通,而不是「能用但过时」。

第二,看它把依赖声明的哪一栏。 像 crossws 这种 peer 依赖,意味着库假定你自己装、自己控制版本(5.2 遇到过同样的问题)。如果社区库把 H3 声明成 peer 依赖,升级 H3 大版本时你会遇到版本冲突,需要主动对齐。

第三,别为了一个小功能引入一个框架。 上表里三个是「框架级」项目(H3ravel、Clear Router、Arkstack),它们会接管路由组织方式甚至项目结构。如果你的需求只是「加个 JWT」,选 unjwt 这种单一职责的库就好。

⚠️ 社区库不在 H3 官方维护范围内,安全相关的组件(JWT、会话、认证)建议先读一遍源码再上生产。清单本身也会变——官方页只是占位,实际可用性以各项目仓库为准。

想把自己的库列上去

官方明确写了「欢迎 PR」。提交时值得准备三样东西:一句话定位、一个能跑的最小示例、以及明确的 v2 兼容声明——评审时这三样比 README 长度重要得多。

延伸阅读

  • 官方内置的安全工具,够用就不必引外部库:见 6.6 安全工具
  • 会话的两种实现路径(内置 session 与外部 JWT):见 7.3 会话基础
  • v1 到 v2 的破坏性变更清单:见 8.1 v1 到 v2 迁移:核心变更
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号