概述
Vafast 官方插件按需安装。多数是 server.use(...) 中间件;少数是工具库(见说明列)。
官方插件
| 名称 | 说明 | 安装 |
|---|---|---|
| Auth Middleware | 对接 auth-server 的 JWT / API Key / app 硬认证 | npm i @vafast/auth-middleware |
| Bearer | 提取 Bearer token(不验签) | npm i @vafast/bearer |
| Compress | Brotli / gzip / deflate 响应压缩 | npm i @vafast/compress |
| Cookie | Cookie 解析、签名与 Set-Cookie | npm i @vafast/cookie |
| CORS | 跨域资源共享 | npm i @vafast/cors |
| Cron | 定时任务(非 HTTP 中间件) | npm i @vafast/cron |
| Helmet | 安全相关响应头 | npm i @vafast/helmet |
| HTML | HTML / JSX 响应辅助 | npm i @vafast/html |
| IP | 客户端 IP 提取 | npm i @vafast/ip |
| JWT | JWT 签发 / 校验工具 | npm i @vafast/jwt |
| Logger | Pino 日志工厂(非请求中间件) | npm i @vafast/logger |
| OpenTelemetry | 分布式追踪(tracing) | npm i @vafast/opentelemetry |
| Permission | 声明式权限 / RBAC(可插拔 Resolver) | npm i @vafast/permission |
| Rate Limit | 速率限制 | npm i @vafast/rate-limit |
| Request ID | 请求 ID 生成与透传 | npm i @vafast/request-id |
| Request Logger | HTTP 访问日志中间件 | npm i @vafast/request-logger |
| Server Timing | Server-Timing 性能头 | npm i @vafast/server-timing |
| Static | 静态文件路由 | npm i @vafast/static |
| Swagger | OpenAPI UI(手写 spec) | npm i @vafast/swagger |
| Webhook | 声明式 Webhook 分发 | npm i @vafast/webhook |
| API Client | 类型安全 API 客户端 | npm i @vafast/api-client |
快速示例
typescript
import { Server, defineRoute, defineRoutes, serve } from 'vafast'
import { cors } from '@vafast/cors'
import { requestId } from '@vafast/request-id'
const routes = defineRoutes([
defineRoute({
method: 'GET',
path: '/',
handler: () => ({ ok: true }),
}),
])
const server = new Server(routes)
server.use(cors())
server.use(requestId())
serve({ fetch: server.fetch, port: 3000 })