前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >这个Web框架,“快”得不只是一星半点!

这个Web框架,“快”得不只是一星半点!

作者头像
程序员老鱼
发布2023-12-26 18:01:18
1.5K0
发布2023-12-26 18:01:18
举报
文章被收录于专栏:前端实验室

大家好,我是「前端实验室」爱分享的了不起~

很多人应该没听说 honojs,大部分还是停留在 express、koa、egg、sails,或者有一部分喜欢用 Nestjs 的。

今天就给大家推荐下 honojs。它在GitHub上的 star 数也还可以,拥有超过 9.5k 星标、3.3k 个项目依赖,并有来自 100 多位贡献者的代码贡献。这是一个值得关注的前端开源项目。

honojs简介

honojs 是一个轻量级、高性能、多运行时的 Edges Web 框架,由 TypeScript 编写。它支持多种 JavaScript 运行时,包括 Cloudflare Workers、Fastly Compute@Edge、Deno、Bun、Vercel、Lagon、AWS Lambda、Lambda@Edge 和 Node.js。

它具有多平台支持,内置功能,以及优秀的应用案例,如 Cdnjs API Server、Polyfill.io、Ultra 等。

honojs特性

相比于其他框架,honojs 最突出的特点在于其速度和轻量级

  • 超快:路由器RegExpRouter非常快。不使用线性循环。快速。
  • 轻量级 -hono/tiny预设低于 12kB。Hono 具有零依赖性,并且仅使用 Web 标准 API。
  • Multi-runtime - 适用于 Cloudflare Workers、Fastly Compute@Edge、Deno、Bun、Lagon、AWS Lambda、Lambda@Edge 或 Node.js。相同的代码在所有平台上运行。
  • Batteries Included - Hono 具有内置中间件、自定义中间件和第三方中间件。含电池。
  • Delightful DX - 超级干净的 API,支持 TypeScript。

如何使用 honojs

honojs 是一个类似于 Express 的简单 Web 应用程序框架,专为在 CDN Edge 上运行而设计。以下是一些典型的应用场景:

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

接下来,我们一起来安装和使用下。

安装

使用 npm 安装它:

代码语言:javascript
复制
npm install hono

就这么简单。但需要注意 Node.js的环境,版本要是18及以上。

使用

接下来,在 src/index.ts 中,初始化一个新的 honojs 应用程序:

代码语言:javascript
复制
import { Hono } from "hono";
 
const app = new Hono();
 
app.get("/posts/:appViewPoints/comments", async (c) => {
  // 这将返回一个HTTP响应。
});
 
app.post("/posts/:appViewPoints/comments", async (c) => {
  // 这将返回一个HTTP响应。
});
 
export default app

这样我们的Web服务的接口就搞定了。当然,我们还可以对请求的参数进行处理,比如:

代码语言:javascript
复制
app.get('/posts/:id', (c) => {
  const id = c.req.param('id');
  c.header('X-Message', 'Hi!');
  return c.text(`你可以查看 ${id} 的内容!`);
});

跨域处理。在前后端分离的今天,后端 API 中需要启用特定的跨源资源共享(或CORS)标头。幸运的是,honojs 有一种快速的方法可以为您的应用程序启用此功能。一起来看一下:导入cors模块并将其作为中间件即可

现在把它添加到src/index.ts中的 API :

代码语言:javascript
复制
import { Hono } from "hono";
import { cors } from "hono/cors";
const app = new Hono();
app.use("/*", cors());

这样,当前端向/*发出请求时,honojs 将自动生成 CORS 标头并将其添加到 API 的响应中,从而允许前端 UI 与其交互而不会出错。

小结

honojs 就是一个 Web 框架。如果你熟悉像 Express 这样的框架,那上手难度几乎只有一颗星。难度在于它能搭配的环境很多,但这不正是 honojs 的优势所在吗?

honojs 也在逐步增加功能和完善社区,这将有助于吸引更多的开发者和用户,并使 honojs 变得更加强大和成熟。希望 honojs 能够得到更多关注和支持,让它在边缘 Web 开发领域取得更大的成功。更多详情,请查阅如下地址。

honojs 官网地址 https://hono.dev/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-12-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • honojs简介
  • honojs特性
  • 如何使用 honojs
    • 安装
      • 使用
      • 小结
      相关产品与服务
      消息队列 TDMQ
      消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档