开始使用

开始使用 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);