我构建了一个框架无关的后端模板(Node、Bun、Express、Hono...)

发布: (2025年12月18日 GMT+8 20:59)
3 min read
原文: Dev.to

Source: Dev.to

为什么只选一个框架,而不是全部? 🧠

我们都懂那种苦恼。你在 Express 上启动项目,却被 Fastify 的速度吸引。或者 Bun 火了,你又想尝试 HonoElysia

通常,切换意味着要重写路由、middleware 和请求/响应逻辑。

现在不需要了。

我构建了 BEnder,一个 TypeScript 样板项目,它抽象掉底层框架,让你只写一次业务逻辑,就能在 任何地方 运行。

🧠 “大脑” 架构

BEnder 不使用混乱的 routes.js,而是采用生物学隐喻:

  • 神经元(目录):自动发现并挂载路由的容器。
  • 突触(文件):处理逻辑的端点。

它的工作方式类似文件系统路由(类似 Next.js),但对后端 API 提供严格的类型约束。

⚡ 写一次,Node 或 Bun 都能跑

你是 Node 队还是 Bun 队?都无所谓。

BEnder 会检测你的运行时和已安装的包,启动最合适的服务器:

  • Node.js:原生支持 Fastify(默认)或 Express 5
  • Bun:原生支持 HonoElysia

魔法代码

入口文件 (app.ts)

// 1. Initialize Infrastructure (auto-detects framework)
const { framework } = await initInfrastructure();

// 2. Initialize Neurons (Routes)
const [get, post] = [new GET(), new POST()];

// 3. Mount them universally
server.get('*', get.router).post('*', post.router);

路由处理器(“突触”)

export class CreateUser extends Synapse {
  protected async setRouter(): Promise {
    // works on Express, Fastify, Hono, AND Elysia!
    this.router.post('/create', async (req: IRequest, res: IResponse) => {
      // Unified Request/Response API
      this.responser(res, 200, { success: true });
    });
  }
}

🛡️ 统一的 Middleware

安全和工具类功能同样被抽象。

配置文件 (app.config.ts)

export const appConfig = {
  security: {
    cors: true,
    helmet: true,
    rateLimit: true,
  },
};

BEnder 会自动为当前激活的框架加载对应的 middleware 包(例如 Fastify 使用 @fastify/helmet,Hono 使用 hono/cors,Elysia 使用 @elysiajs/limit)。

🚀 试一试

我已开源此项目,帮助开发者在几秒钟内搭建强大的后端。

在这里克隆: BEnder

快速开始

# 1. Install dependencies
npm install

# 2. Pick your flavor (e.g., Bun + Hono)
npm install hono hono-rate-limiter

# 3. Run!
bun run app.ts
Back to Blog

相关文章

阅读更多 »

实验性 Hono auth npm 包

我正在构建的东西:我正在创建一个 auth package,开发者可以将其直接放入他们的应用中,而无需编写常规的登录、注册、JWT、电子邮件验证等样板代码。

创建您的第一个 MCP 应用

TL;DR MCP 应用为对话代理和其他 MCP 客户端带来交互式 UI。 本教程展示了如何创建一个既简单又强大的应用源代码……