开始使用
开始使用 h3
概述
h3(HTTP 的缩写,发音为 /eɪtʃθriː/,像 h-3)是一个轻量级和 可组合的 服务器框架, 旨在通过 适配器 与各种 JavaScript 运行时协同工作。
查看 Nitro 获取完整功能的服务器工具包。
快速开始
创建一个新的文件 app.ts
(或 app.js
):
app.ts
// 将 h3 作为 npm 依赖导入
import { createApp, createRouter } from "h3";
// 创建一个应用实例
export const app = createApp();
// 创建一个新的路由器并在应用中注册
const router = createRouter();
app.use(router);
// 添加一个匹配 GET 请求的新的路由到 / 路径
router.get("/", () => {
return { message: "⚡️ Tadaa!" };
});
现在使用 unjs/listhen 运行开发服务器:
npx --yes listhen -w --open ./app.ts
你不需要安装任何额外的依赖。Listhen 已预安装 h3 的版本!
哇哦!我们的网络服务器现在在本地运行。
发生了什么?
好的,现在让我们分解一下我们的 Hello World 示例:
我们首先使用 createApp()
创建了一个 应用实例。app
是一个小型服务器,能够匹配请求,生成响应并处理生命周期钩子(如错误):
export const app = createApp();
然后我们创建了一个 路由实例,可以使用 unjs/radix3 匹配路由模式和 HTTP 方法,并将其注册为应用的主处理程序:
const router = createRouter();
app.use(router);
在 h3 中美妙的地方在于,你所需要做的就是简单地返回响应!响应可以是简单的字符串、JSON 对象、数据缓冲区、流或标准的 Web 响应。
return { message: "⚡️ Tadaa!" };
最后,我们使用 npx 调用 unjs/listhen CLI 自动安装它。Listhen 将自动设置并启动我们的网页服务器,几乎不需要配置,并为你的体验添加实时 TypeScript 支持!
安装 h3
你可以将 h3 作为 npm 包或从 CDN 导入。
作为 npm 包安装
你可以使用此方法用于 Node.js 和 Bun。
npm i h3
从 CDN 导入
你可以直接从 CDN 导入 h3。此方法可用于 Bun、Deno 和其他运行时,如 Cloudflare Workers(你需要一个适配器)。
import { createApp, toWebHandler } from "https://esm.sh/h3";
export const app = createApp();
export const handler = toWebHandler(app);