概述
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、代码检查器和插件)!
- 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 - 基于结构化异常类的 Elysia 4xx/5xx HTTP 错误处理插件
- 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 提供商的 JWKS 端点上的 JWT 令牌的插件,支持发行人、受众和权限验证
- Elysia OpenID Client - 基于 openid-client 的 OpenID 客户端
- Rate Limit - 简单轻量的速率限制器
- LLMs.txt - 从 OpenAPI/Swagger 生成适合大型语言模型的
/llms.txt文件 - Logysia - 经典日志中间件
- Logestic - 高级且可定制的 ElysiaJS 日志库
- Logger - 基于 pino 的日志中间件
- Elysia Line - Elysia 的 LINE 消息和登录集成(官方 @line/bot-sdk 的包装器)
- Elylog - 简单且可定制的标准输出日志库
- Logify for Elysia.js - 为 Elysia.js 应用提供美观、快速且类型安全的日志中间件
- Nice Logger - 不是最棒,但非常好用且简洁的 Elysia 日志器
- LogTape for Elysia - 支持多出口(传输)的结构化日志中间件,通过 LogTape
- 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
- 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
- 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 OpenAPI 模型中使用 Drizzle ORM 架构
- Unify-Elysia - 统一 Elysia 的错误代码
- Unify-Elysia-GQL - 统一 Elysia GraphQL 服务器(Yoga 和 Apollo)的错误代码
- Elysia Auth Drizzle - 处理带有 JWT(头部/Cookie/查询参数)认证的库
- 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 - Elysia 的 CQRS 模式插件
- Elysia Supabase - 无缝集成 Supabase 身份认证和数据库功能,便于访问认证用户数据和 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 - 为 Eden Treaty 提供远程 .d.ts 类型的插件
- Cap Checkpoint plugin for Elysia - 类似 Cloudflare 的中间件,基于 SHA-256 PoW 设计的轻量级现代开源 CAPTCHA 替代方案 Cap
- Elysia Background - Elysia.js 的后台任务处理插件
- Elysia External Session - TS only GitHub package - 一个为 Redis 和 SQLite 设计的可扩展会话包,采用当前 Elysia 架构
- @fedify/elysia - 提供与 Fedify ActivityPub 服务器框架无缝集成的插件
- elysia-healthcheck - Elysia.js 的健康检查插件
- elysia-csrf - 移植自 express-csrf 的 CSRF 插件
- elysia-local-https - 为 Elysia 自动提供本地 HTTPS —— 证书一行命令生成、管理和刷新
- elysia-circuit-breaker - 为 Elysia.js 引入容错能力的断路器插件
- Eden TanStack Query - 类似 @trpc/react-query 但用于 Elysia 的类型安全 TanStack Query 集成
- Socket.IO Proxy - Elysia 的 Socket.IO 代理
- ModernCSRF - 轻量级无令牌 CSRF 保护中间件,适用于 ElysiaJS
- elysia-wide-event - 用于结构化请求级别可观测性的广泛事件日志插件
- elysia-beta-headers - 用于通过类型安全的 API 头控制应用 Beta/实验性功能的 Elysia 插件
相关项目:
- prismabox - 基于您的数据库模型生成 TypeBox 架构的生成器,非常适合与 Elysia 配合使用
如果您为 Elysia 编写了一个插件,请随时通过 点击下面的 在 GitHub 上编辑此页面 将您的插件添加到列表中 👇