概述
Elysia 旨在实现模块化和轻量化。
遵循与 Arch Linux 相同的理念(顺便说一句,我用的是 Arch):
设计决策是基于开发者共识,针对每个具体案例逐一制定的
这确保了开发者最终能够构建出高性能的 Web 服务器。因此,Elysia 内置了涵盖常见模式的预构建插件,以方便开发者直接使用:
官方插件
以下是由 Elysia 团队维护的部分官方插件:
- Bearer - 自动检索 Bearer 令牌
- CORS - 设置 跨源资源共享 (CORS)
- Cron - 设置 cron 任务
- Eden - Elysia 的端到端类型安全客户端
- GraphQL Apollo - 在 Elysia 上运行 Apollo GraphQL
- GraphQL Yoga - 在 Elysia 上运行 GraphQL Yoga
- HTML - 处理 HTML 响应
- JWT - 使用 JWT 进行身份验证
- OpenAPI - 生成 OpenAPI 文档
- OpenTelemetry - 添加对 OpenTelemetry 的支持
- Server Timing - 使用 Server-Timing API 进行性能瓶颈审计
- Static - 提供静态文件/文件夹
社区插件
- Create ElysiaJS - 轻松搭建 Elysia 项目环境(提供 ORM、Linters 和插件支持)!
- Lucia Auth - 简洁干净的认证方案
- Elysia Clerk - 非官方的 Clerk 认证插件
- Elysia Polyfills - 在 Node.js 和 Deno 上运行 Elysia 生态
- Vite server - 在
development和production模式下启动并装饰vite开发服务器,并提供静态文件服务(如需) - Vite - 提供注入 Vite 脚本的入口 HTML 文件
- Nuxt - 轻松将 Elysia 与 Nuxt 集成!
- Remix - 支持
HMR的 Remix 集成(由vite驱动)!解决了长期存在的插件需求 #12 - Sync - 基于 Dexie.js 的轻量级离线优先数据同步框架
- Connect middleware - 允许你在 Elysia 中直接使用
express/connect中间件的插件! - Elysia HTTP Exception - 用于处理 HTTP 4xx/5xx 错误的 Elysia 插件,提供结构化的异常类
- Elysia Helmet - 通过设置各种 HTTP 标头来保护 Elysia 应用
- Vite Plugin SSR - 使用 Elysia 服务器的 Vite SSR 插件
- OAuth 2.0 - 支持超过 42 个提供商且具备类型安全的 OAuth 2.0 授权流程插件!
- OAuth2 - 处理 OAuth 2.0 授权码流程
- OAuth2 Resource Server - 用于验证来自 OAuth2 提供商的 JWT 令牌的插件,支持针对 JWKS 端点进行验证,并支持签发者、受众和权限范围校验
- Elysia OpenID Client - 基于 openid-client 的 OpenID 客户端
- Rate Limit - 简单轻量的速率限制器
- LLMs.txt - 从 OpenAPI/Swagger 生成
/llms.txt,提供对 LLM 友好的文档 - Logysia - 经典日志中间件
- Logestic - 适用于 ElysiaJS 的高级可定制日志库
- Logger - 基于 pino 的日志中间件
- Elysia Line - 为 Elysia 集成 LINE Messaging API 和 LINE Login(官方 @line/bot-sdk 的封装)
- Elylog - 支持部分自定义的简单标准输出日志库
- Logify for Elysia.js - 适用于 Elysia.js 应用的美观、快速且类型安全的日志中间件
- Nice Logger - 虽不是最完美的,但是一款相当不错且贴心的 Elysia 日志工具
- LogTape for Elysia - 结构化日志中间件,通过 LogTape 支持多种输出目标(传输通道)
- Sentry - 使用此 Sentry 插件捕获追踪和错误
- Apitally - 在 Apitally(一款简单的 API 监控与分析工具)中捕获指标、日志和追踪
- Elysia Lambda - 部署至 AWS Lambda
- Decorators - 使用 TypeScript 装饰器
- Autoload - 基于目录结构的文件系统路由器,可为 Eden 生成类型,并支持
Bun.build - Msgpack - 允许你使用 MessagePack
- XML - 允许你处理 XML
- Autoroutes - 文件系统路由
- Group Router - 基于文件系统和文件夹的路由分组
- Basic Auth - 基础 HTTP 认证
- Body Limit - 限制 Elysia 中的请求体大小
- ETag - 自动生成 HTTP ETag
- CDN Cache - Elysia 的 Cache-Control 插件 - 无需再手动设置 HTTP 标头
- Basic Auth - 基础 HTTP 认证(使用
request事件) - i18n - 基于 i18next 的 i18n 封装
- Intlify - 国际化服务器中间件与工具集
- Elysia Request ID - 添加/转发请求 ID(
X-Request-ID或自定义) - Elysia HTMX - 为 HTMX 提供的上下文辅助工具
- Elysia HMR HTML - 当目录中任何文件更改时重新加载 HTML 文件
- Elysia Inject HTML - 向 HTML 文件中注入 HTML 代码
- Elysia HTTP Error - 从 Elysia 处理器返回 HTTP 错误
- Elysia Http Status Code - 集成 HTTP 状态码
- NoCache - 禁用缓存
- Elysia Tailwind - 在插件中编译 Tailwindcss。
- tailwind-serve - 在运行时编译并提供 Tailwind CSS v4 服务,无需构建步骤,兼容任何服务器框架
- Elysia Compression - 压缩响应
- Elysia IP - 获取 IP 地址
- OAuth2 Server - 使用 Elysia 开发 OAuth2 服务器
- Elysia Flash Messages - 启用 Flash 消息
- Elysia AuthKit - 非官方的 WorkOS AuthKit 认证
- Elysia Error Handler - 更简单的错误处理
- Elysia env - 使用 typebox 实现类型安全的环境变量
- Elysia Drizzle Schema - 帮助在 Elysia OpenAPI 模型中使用 Drizzle ORM 模式
- Unify-Elysia - 统一 Elysia 的错误码
- Unify-Elysia-GQL - 统一 Elysia GraphQL 服务器(Yoga 和 Apollo)的错误码
- Elysia Auth Drizzle - 处理 JWT 认证(Header/Cookie/QueryParam)的库
- graceful-server-elysia - 受 graceful-server 启发的库
- Logixlysia - 一款美观简洁的 ElysiaJS 日志中间件,支持颜色高亮和时间戳。
- Elysia Fault - 简单可定制的错误处理中间件,支持创建自定义 HTTP 错误
- Elysia Compress - 受 @fastify/compress 启发的 ElysiaJS 响应压缩插件
- @labzzhq/compressor - 紧凑卓越,扩展无限:支持 gzip、deflate 和 brotli 的 Elysia 与 Bunnyhop HTTP 压缩器。
- Elysia Accepts - 用于解析 Accept 标头和内容协商的 Elysia 插件
- Elysia Compression - 用于压缩响应的 Elysia 插件
- Elysia Logger - 受 hono/logger 启发的 Elysia 插件,用于记录 HTTP 请求和响应
- Elysia CQRS - 用于实现 CQRS 模式的 Elysia 插件
- Elysia Supabase - 将 Supabase 认证和数据库功能无缝集成到 Elysia 中,便于访问已认证用户数据和 Supabase 客户端实例。对 Edge Functions 尤为实用。
- Elysia XSS - 为 Elysia.js 提供的插件,通过清理请求体数据来提供 XSS(跨站脚本)防护。
- Elysiajs Helmet - 适用于 Elysia.js 应用的全面安全中间件,通过设置各种 HTTP 标头帮助保护你的应用。
- Decorators for Elysia.js - 使用这个小型库无缝开发和集成 API、WebSocket 和流式 API。
- Elysia Protobuf - 为 Elysia 提供 protobuf 支持。
- Elysia Prometheus - 用于向 Prometheus 暴露 HTTP 指标的 Elysia 插件。
- Elysia Remote DTS - 远程提供
.d.ts类型供 Eden Treaty 使用的插件。 - Cap Checkpoint plugin for Elysia - 类似 Cloudflare 的中间件,用于 Cap(一种基于 SHA-256 PoW 设计的轻量级现代开源验证码替代方案)。
- Elysia Background - 适用于 Elysia.js 的后台任务处理插件
- Elysia External Session - TS only GitHub package - 适用于 Redis 和 SQLite 的会话包,具有可扩展性并采用当前 Elysia 架构。
- @fedify/elysia - 提供与 Fedify(ActivityPub 服务器框架)无缝集成的插件。
- elysia-healthcheck - 适用于 Elysia.js 的健康检查插件
- elysia-csrf - CSRF 插件,移植自 express-csrf
- elysia-local-https - 为 Elysia 提供自动本地 HTTPS 支持——一行代码即可生成、管理和刷新证书。
- elysia-circuit-breaker - 为 Elysia.js 带来容错能力的熔断器插件。
- Eden TanStack Query - 为 Eden 提供类型安全的 TanStack Query 集成,类似于 @trpc/react-query,但专为 Elysia 设计
- Socket.IO Proxy - 适用于 Elysia 的 Socket.IO 代理。
- ModernCSRF - 适用于 ElysiaJS 的轻量级、无令牌 CSRF 防护中间件
- elysia-wide-event - 用于结构化请求级可观测性的广泛事件日志插件。
- elysia-beta-headers - 通过类型安全的 API 标头控制应用 Beta/实验性功能的 Elysia 插件
- elysia-better-session - 支持多种存储适配器的服务端会话管理 Elysia 插件。
相关项目:
- prismabox - 基于您的数据库模型生成 TypeBox 架构的生成器,非常适合与 Elysia 配合使用
项目模板:
- ElysiaTemplate - MVC 后端,自动路由与中间件,更多功能持续更新中。
如果您为 Elysia 编写了一个插件,请随时通过 点击下面的 在 GitHub 上编辑此页面 将您的插件添加到列表中 👇