elysia README

The project's README from github.com/elysiajs/elysia. As one markdown file: README.md.

Elysia Banner

Elysia

Ergonomic Framework for Humans

Documentation | Discord | Sponsors


TypeScript with End-to-End Type Safety, type integrity, and exceptional developer experience. Supercharged by Bun.


Elysia chan cover | bun creeate elysia app

elysia (elysiajs/elysia)

Searching Database…

19.3K ·GitHub
这是什么?Elysia 是一个用于构建 HTTP 服务器和 API 的 TypeScript 框架。它主打端到端的类型安全和出色的开发体验,构建在 Bun 运行时之上。
它是一个完整的 Web 框架,还是需要我自己组装的轻量路由库?是一个完整的框架:路由、Cookie 处理和 URI 解码都是内置的。它的运行时依赖只有四个小包——一个路由器(memoirist)、一个 Cookie 解析器、一个 URI 解码器和一个类型映射辅助工具。
我怎么把它加到项目里并把服务器跑起来?用 'bun add elysia' 安装这个包(npm 也可以),然后导入它就能在 Bun 上启动一个服务器;仓库自带的开发流程是 'bun run --watch example/a.ts'。
我是不是被绑定在 Bun 上,还是也能在 Node.js 上运行?Bun 是官方推荐的运行时,但仓库的测试套件也明确在 Node.js 下运行这个框架——CommonJS 和 ESM 两种方式都有——所以 Node 项目也没问题。
我可以把它部署到哪里——能不能脱离普通服务器运行,比如 Cloudflare Workers?可以——除了 Bun 和 Node,仓库还带了 Cloudflare Workers 的测试环境,并生成对应的 worker 类型,所以在 Cloudflare 上的边缘部署是有明确测试覆盖的。
端到端的类型安全在日常写代码时到底能给我带来什么?路由定义和处理函数共享同一条类型链,所以路由接收的内容和返回的内容之间如果不匹配,在编译阶段就会暴露出来。仓库甚至专门维护了一套基于 tsc 的类型测试来保证这一点。
它成熟到可以用来搭建生产环境的服务吗,还是仍处于实验阶段?算是成熟项目而非实验品:始于 2022 年 12 月,在 GitHub 上约有 19.2k 颗星,采用 MIT 许可证,并有覆盖多目标测试矩阵的 GitHub Actions 持续集成。
What are similar projects?hono, hapi, core, express, koa, node-restify, Rocket, echo
Creator
elysiajs
Size
120.3 MB
Stars
19.3K
Age
3y
Commits · 90 Days