Skip to content

简介

为什么使用 Hono 作为 api 工具

Hono 原生支持各种 JavaScript 的运行, Next.js、Deno、Bun、Couldfare 等等。当然 React Router 也是 Web 标准的框架。配合使用非常方便。

api 流程图

api

本项目的 api 部分,从 remix 到 react-route, 做了众多的尝试, 当前决定使用 Honojs 做为 api 的处理方案。

  • 管理端所有的接口使用接口处理
  • 不适用 action/loader

api授权认证机制

本项目目前使用,JWT 的双 Token 机制:

  • access_token 短 Token, 用于获取数据
  • refresh_token 用于置换 Token

如果你对项目感兴趣,可以看看这种双 Token 机制是否符合您的项目的安全需求。

honojs 适配器

ts
import type { Hono } from "hono";

export const handle =
  (app: Hono<any, any, any>) =>
  async (args: { request: Request }): Promise<Response> => {
    const { request } = args;
    return await app.fetch(request);
  };

React Router 是一个 Web 标准的框架,支持 Node.js、Express 框架、Cloudflare、以及 Vercel 等平台

有了适配器,我们只需要传入 Hono app 即可,处理 API 请求想相当的简单。并且支持中间。这比直接书写 action/loader 要舒服多了。