100秒了解Elysia

发布: (2026年2月2日 GMT+8 07:00)
3 分钟阅读
原文: Dev.to

Source: Dev.to

Overview

ElysiaJS 是一个高性能、静态类型的 Web 框架,运行在 Bun runtime 上。它以显著快于 Express 而闻名,旨在提供开发者友好的 API,同时保持极致速度。

Features

  • Speed – 利用 Bun 的即时编译(JIT)实现微秒级的启动时间。
  • Type safety – 使用 TypeBox 提供端到端的类型安全,且不会带来运行时性能损失或大量样板代码。
  • Fluent API – 路由采用链式语法(.get().post() 等)定义,返回的普通对象会自动序列化为 JSON。
  • Schema validation – 通过 t 变量附加模式对象,以在运行时验证传入数据,并为 IDE 自动补全推断 TypeScript 类型。
  • Eden Treaty – 允许前端直接导入后端的类型定义,为客户端的 API 调用提供完整的自动补全。
  • Minimal decorators – 与 NestJS 不同,Elysia 不需要使用复杂的装饰器来定义路由。

Getting Started

  1. Install Bun(如果尚未安装)。

  2. Create a TypeScript file(例如 app.ts)。

  3. Initialize the app

    import { Elysia, t } from "elysia";
    
    const app = new Elysia();
  4. Define a route using the fluent API:

    app.get("/", () => {
      return { message: "Hello, Elysia!" };
    });
  5. Add schema validation(可选但推荐):

    app.get(
      "/user/:id",
      {
        params: t.Object({
          id: t.String(),
        }),
      },
      ({ params }) => {
        // `params.id` 被保证为字符串
        return { userId: params.id };
      }
    );
  6. Run the server

    bun run app.ts

    服务器将在微秒内启动,准备好处理请求。

Summary

ElysiaJS 将 Bun 的速度与强大的类型安全以及简洁的链式 API 结合在一起,成为传统 Node.js 框架(如 Express 和 NestJS)的有力替代方案。其内置的模式验证和 Eden Treaty 进一步通过保持后端与前端类型定义同步,简化了全栈开发。

Back to Blog

相关文章

阅读更多 »