我构建了一个框架无关的后端模板(Node、Bun、Express、Hono...)
Source: Dev.to
为什么只选一个框架,而不是全部? 🧠
我们都懂那种苦恼。你在 Express 上启动项目,却被 Fastify 的速度吸引。或者 Bun 火了,你又想尝试 Hono 或 Elysia。
通常,切换意味着要重写路由、middleware 和请求/响应逻辑。
现在不需要了。
我构建了 BEnder,一个 TypeScript 样板项目,它抽象掉底层框架,让你只写一次业务逻辑,就能在 任何地方 运行。
🧠 “大脑” 架构
BEnder 不使用混乱的 routes.js,而是采用生物学隐喻:
- 神经元(目录):自动发现并挂载路由的容器。
- 突触(文件):处理逻辑的端点。
它的工作方式类似文件系统路由(类似 Next.js),但对后端 API 提供严格的类型约束。
⚡ 写一次,Node 或 Bun 都能跑
你是 Node 队还是 Bun 队?都无所谓。
BEnder 会检测你的运行时和已安装的包,启动最合适的服务器:
- Node.js:原生支持 Fastify(默认)或 Express 5。
- Bun:原生支持 Hono 或 Elysia。
魔法代码
入口文件 (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