概述
Elysia 旨在实现模块化和轻量化。
遵循与 Arch Linux 相同的理念(顺便说一句,我使用 Arch):
设计决策通过开发者共识逐案作出
这确保了开发者最终得到他们所希望创建的高性能 Web 服务器。由此,Elysia 包含了预构建的常见模式插件,以方便开发者使用:
官方插件:
- Bearer - 自动检索 Bearer 令牌
- CORS - 设置 跨来源资源共享 (CORS)
- Cron - 设置 cron 任务
- Eden - Elysia 的端到端类型安全客户端
- GraphQL Apollo - 在 Elysia 上运行 Apollo GraphQL
- GraphQL Yoga - 在 Elysia 上运行 GraphQL Yoga
- HTML - 处理 HTML 响应
- JWT - 使用 JWT 进行身份验证
- OpenTelemetry - 添加对 OpenTelemetry 的支持
- Server Timing - 通过 Server-Timing API 审核性能瓶颈
- Static - 服务静态文件/文件夹
- Stream - 集成响应流和 服务器发送事件 (SSE)
- Swagger - 生成 Swagger 文档
- tRPC - 支持 tRPC
- WebSocket - 支持 WebSockets
社区插件:
- BunSai - 一个全栈无关的 Web 框架,基于 Bun 和 Elysia 构建
- Create ElysiaJS - 为您的 Elysia 项目搭建开发环境,以便于(提供 ORM、代码风格检查工具和插件的帮助)!
- Lucia Auth - 身份验证,简单而干净
- Elysia Clerk - 非官方的 Clerk 身份验证插件
- Elysia Polyfills - 在 Node.js 和 Deno 上运行 Elysia 生态系统
- Vite server - 插件,用于在
development
模式下启动和装饰vite
开发服务器,并在production
模式下提供静态服务(如果需要) - Vite - 提供带有 Vite 脚本注入的入口 HTML 文件
- Nuxt - 将 elysia 与 nuxt 轻松集成!
- Remix - 使用支持
HMR
的 Remix!(由vite
提供支持)! 关闭一个长期存在的插件请求 #12 - Sync - 一个轻量级的离线优先数据同步框架,基于 Dexie.js
- Connect middleware - 插件,允许您在 Elysia 中直接使用
express
/connect
中间件! - Elysia Helmet - 通过各种 HTTP 头保护 Elysia 应用
- Vite Plugin SSR - 使用 Elysia 服务器的 Vite SSR 插件
- OAuth 2.0 - 一个用于 OAuth 2.0 授权流程的插件,支持超过 42 个提供商,并且具备 类型安全!
- OAuth2 - 处理 OAuth 2.0 授权码流程
- Elysia OpenID Client - 一个基于 openid-client 的 OpenID 客户端
- Rate Limit - 简单、轻量级的速率限制器
- Logysia - 经典的日志中间件
- Logestic - 一个高级且可定制的 ElysiaJS 日志库
- Logger - 基于 pino 的日志中间件
- Elylog - 简单的标准输出日志库,具有一些自定义选项
- Logify for Elysia.js - 一个漂亮、快速且类型安全的 Elysia.js 应用日志中间件
- Nice Logger - 虽然不是最好的,但也是一个相当不错和甜美的 Elysia 日志器。
- Sentry - 通过这个 Sentry 插件捕获跟踪信息和错误
- Elysia Lambda - 部署到 AWS Lambda
- Decorators - 使用 TypeScript 装饰器
- Autoload - 基于目录结构的文件系统路由器,为 Eden 生成类型,并支持
Bun.build
- Msgpack - 允许您处理 MessagePack
- XML - 允许您处理 XML
- Autoroutes - 文件系统路由
- Group Router - 基于文件系统和文件夹的分组路由器
- Basic Auth - 基本 HTTP 身份验证
- ETag - 自动生成 HTTP ETag
- Basic Auth - 基本 HTTP 身份验证(使用
request
事件) - i18n - 基于 i18next 的 i18n 包装
- 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。
- Elysia Compression - 压缩响应
- Elysia IP - 获取 IP 地址
- OAuth2 Server - 使用 Elysia 开发 OAuth2 服务器
- Elysia Flash Messages - 启用闪存消息
- Elysia AuthKit - 非官方的 WorkOS' AuthKit 身份验证
- Elysia Error Handler - 简化错误处理
- Elysia env - 使用 typebox 的类型安全环境变量
- Elysia Drizzle Schema - 帮助在 elysia swagger 模型中使用 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 - 紧凑的辉煌、广泛的结果:适用于 Elysia 和 Bunnyhop 的 HTTP 压缩器,支持 gzip、deflate 和 brotli。
- Elysia Accepts - Elysia 插件,用于解析接受头和内容协商
- Elysia Compression - Elysia 插件,用于压缩响应
- Elysia Logger - Elysia 插件,用于记录 HTTP 请求和响应,灵感来自 hono/logger
- Elysia CQRS - Elysia 插件,用于 CQRS 模式
- Elysia Supabase - 无缝集成 Supabase 身份验证和数据库功能到 Elysia,使访问经过身份验证的用户数据和 Supabase 客户端实例变得简单,特别适用于 Edge Functions。
- Elysia XSS - Elysia.js 的插件,通过清洗请求体数据提供 XSS (跨站脚本) 保护。
- Elysiajs Helmet - 一个全面的安全中间件,帮助通过设置各种 HTTP 头来保护 Elysia.js 应用。
- Decorators for Elysia.js - 通过这个小型库无缝开发和集成 API、Websocket 和流媒体 API。
- Elysia Protobuf - 支持 Elysia 的 protobuf。
相关项目:
- prismabox - 基于您的数据库模型生成 typebox 模式的生成器,适用于 elysia
如果您为 Elysia 编写了一个插件,请随时通过 点击下面的 在 GitHub 上编辑此页面 将您的插件添加到列表中 👇