概述
Vafast 旨在实现模块化和轻量化。
遵循与 Arch Linux 相同的理念(顺便说一句,我使用 Arch):
设计决策通过开发者共识逐案作出
这确保了开发者最终得到他们所希望创建的高性能 Web 服务器。由此,Vafast 包含了预构建的常见模式中间件,以方便开发者使用:
官方中间件
| 中间件 | 说明 | 安装 |
|---|---|---|
| API Client | 现代化、类型安全的 API 客户端 | npm i @vafast/api-client |
| Bearer | 自动获取 Bearer 令牌 | npm i @vafast/bearer |
| Compress | Brotli、GZIP、Deflate 压缩 | npm i @vafast/compress |
| Cookie | Cookie 解析和签名 | npm i @vafast/cookie |
| CORS | 跨域资源共享 | npm i @vafast/cors |
| Cron | 定时任务调度 | npm i @vafast/cron |
| Helmet | HTTP 安全头部 | npm i @vafast/helmet |
| HTML | HTML 响应处理 | npm i @vafast/html |
| IP | 客户端 IP 提取 | npm i @vafast/ip |
| JWT | JWT 身份验证 | npm i @vafast/jwt |
| Logger | 请求日志记录 | npm i @vafast/logger |
| OpenTelemetry | 分布式追踪 | npm i @vafast/opentelemetry |
| Rate Limit | 速率限制 | npm i @vafast/rate-limit |
| Request ID | 请求 ID 生成 | npm i @vafast/request-id |
| Request Logger | 请求日志中间件 | npm i @vafast/request-logger |
| Server Timing | 性能分析 | npm i @vafast/server-timing |
| Static | 静态文件服务 | npm i @vafast/static |
| Swagger | OpenAPI 文档生成 | npm i @vafast/swagger |
| Webhook | Webhook 事件分发 | npm i @vafast/webhook |
快速示例
typescript
import { Server, defineRoute, defineRoutes } from 'vafast'
import { cors } from '@vafast/cors'
const routes = defineRoutes([
defineRoute({
method: 'GET',
path: '/api/users',
handler: () => ({ users: [] })
})
])
const server = new Server(routes)
server.useGlobalMiddleware(cors())
export default { fetch: server.fetch }相关链接
如果您为 Vafast 编写了一个中间件,欢迎通过 点击下面的 "在 GitHub 上编辑此页面" 将您的中间件添加到列表中 👇