Web 框架 Hono 火了?Web 应用第一选择?

2023-12-18 23:43:35

Hello,大家好,我是Sunday。

今天咱们来看一下新的 web 框架 Hono。

什么是 Hono

Hono-[炎] 是一个小型、简单而极快的 Edges Web 框架。它适用于各种 JavaScript 运行环境,包括 Cloudflare Workers、Fastly Compute、Deno、Bun、Vercel、Lagon、AWS Lambda、Lambda@Edge 和 Node.js。

相对于 itty-router、sunder、worktop 等其他框架,Hono 突出的特点在于其速度,但这并不是它唯一的亮点。可以总结为以下几个关键点:

  • 超快速度:借助路由 RegExpRouter,它的速度非常快,无需线性循环。
  • 轻量级:hono/tiny 预设 preset 小于 12kB,零依赖,仅使用 Web 标准 API。
  • 多平台支持:适用于多种平台,包括 Cloudflare Workers、Fastly Compute、Deno、Bun、Lagon、AWS Lambda、Lambda@Edge 和 Node.js,同一份代码适用于所有平台。
  • 内置功能:Hono 具备内置中间件、自定义中间件和第三方中间件,方便直接使用。
  • 优秀应用案例:Hono 已被广泛运用,比如:
    • Cdnjs API Server:基于 Hono 的 Cloudflare Workers 免费开源 CDN 服务。
    • Polyfill.io:提供浏览器 polyfill 的 CDN 服务,基于 Hono 核心服务器。
    • Ultra:React/Deno 应用框架,内部服务器采用 Hono。
    • Deno Benchmarks:用于基准测试的 Deno,采用基于 V8 的安全 TypeScript 运行时,其中用到了 Hono。
    • Cloudflare Blog:部分文章托管在基于 Hono 的 Cloudflare Workers 平台。

目前,Hono 在 Github 上以 MIT 协议开源,拥有超过 8.9k 星标、3.3k 个项目依赖,并有来自 100 多位贡献者的代码贡献。这是一个值得关注的前端开源项目。

如何使用 Hono

Hono 是一个类似于 Express 的简单 Web 应用程序框架,专为在 CDN Edge 上运行而设计。它允许开发者利用中间件构建更强大的应用程序。以下是一些典型的应用场景:

  • 构建 Web API
  • 后端服务器的代理
  • CDN 前端
  • 边缘应用
  • 基于库的服务器
  • 全栈应用

开发者可以使用 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

我目前在做一个 前端训练营 ,主打的就是:1v1 私教,帮大家拿到满意的 offer 。

可以点击这里查看详情

也可以直接加我微信沟通,备注【训练营】:
在这里插入图片描述

文章来源:https://blog.csdn.net/u011068996/article/details/135071149
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。