Web 框架 Hono 火了?Web 應用第一選擇?

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 突出的特點在於其速度,但這並不是它唯一的亮點。可以總結爲以下幾個關鍵點:

目前,Hono 在 Github 上以 MIT 協議開源,擁有超過 8.9k 星標、3.3k 個項目依賴,並有來自 100 多位貢獻者的代碼貢獻。這是一個值得關注的前端開源項目。

如何使用 Hono

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 等環境中使用。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/GZ1UMKYGfmDmTl9f9S5afA