Skip to content

概述

Vafast 官方插件按需安装。多数是 server.use(...) 中间件;少数是工具库(见说明列)。

官方插件

名称说明安装
Auth Middleware对接 auth-server 的 JWT / API Key / app 硬认证npm i @vafast/auth-middleware
Bearer提取 Bearer token(不验签)npm i @vafast/bearer
CompressBrotli / gzip / deflate 响应压缩npm i @vafast/compress
CookieCookie 解析、签名与 Set-Cookienpm i @vafast/cookie
CORS跨域资源共享npm i @vafast/cors
Cron定时任务( HTTP 中间件)npm i @vafast/cron
Helmet安全相关响应头npm i @vafast/helmet
HTMLHTML / JSX 响应辅助npm i @vafast/html
IP客户端 IP 提取npm i @vafast/ip
JWTJWT 签发 / 校验工具npm i @vafast/jwt
LoggerPino 日志工厂(非请求中间件)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 LoggerHTTP 访问日志中间件npm i @vafast/request-logger
Server TimingServer-Timing 性能头npm i @vafast/server-timing
Static静态文件路由npm i @vafast/static
SwaggerOpenAPI 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 })

相关链接