Hello,大家好,我是Sunday。
今天咱们来看一下新的 web 框架 Hono。
Hono-[炎] 是一个小型、简单而极快的 Edges Web 框架。它适用于各种 JavaScript 运行环境,包括 Cloudflare Workers、Fastly Compute、Deno、Bun、Vercel、Lagon、AWS Lambda、Lambda@Edge 和 Node.js。
相对于 itty-router、sunder、worktop 等其他框架,Hono 突出的特点在于其速度,但这并不是它唯一的亮点。可以总结为以下几个关键点:
目前,Hono 在 Github 上以 MIT 协议开源,拥有超过 8.9k 星标、3.3k 个项目依赖,并有来自 100 多位贡献者的代码贡献。这是一个值得关注的前端开源项目。
Hono 是一个类似于 Express 的简单 Web 应用程序框架,专为在 CDN Edge 上运行而设计。它允许开发者利用中间件构建更强大的应用程序。以下是一些典型的应用场景:
开发者可以使用 Cloudflare Workers 开发工具 Wrangler、Deno、Bun 或其他工具,在 TypeScript 中编写代码并自动进行转译。
下面是在 src/index.ts
中使用 Hono 编写的第一个应用程序。 导入和最终导出的默认部分可能因运行时而异,但应用程序代码能在任何运行时运行。
import { Hono } from 'hono';
const app = new Hono();
app.get('/', (c) => {
return c.text('Hello Hono!');
});
export default app;
如果需要获取参数,可以通过以下方式实现:
app.get('/posts/:id', (c) => {
const page = c.req.query('page');
const id = c.req.param('id');
c.header('X-Message', 'Hi!');
return c.text(`You want to see ${page} of ${id}`);
});
路由配置与 Express 框架非常相似:
app.post('/posts', (c) => c.text('Created!', 201));
app.delete('/posts/:id', (c) => c.text(`${c.req.param('id')} has been deleted!`));
Hono 可以在 Cloudflare Workers、Cloudflare Pages、Deno、Bun、Fastly Compute、Lagon、Vercel、Netlify、AWS Lambda、Lambda@Edge、Node.js 等环境中使用。
我目前在做一个 前端训练营 ,主打的就是:1v1 私教,帮大家拿到满意的 offer 。
也可以直接加我微信沟通,备注【训练营】: