Skip to content

导出与子模块

orva 的导出结构刻意保持分层,避免根入口膨胀。

根入口

根入口只导出框架核心:

ts
import {
  Orva,
  createOrva,
  defineMiddleware,
  type Context,
  type Handler,
  type MiddlewareHandler,
} from 'orvajs';

Validator

ts
import { validator, getValidatedData, setValidatedData } from 'orvajs/validator';
import { zodValidator, zValidator } from 'orvajs/validator/zod';

RPC

ts
import { createRPC, createRPCMetadata } from 'orvajs/rpc';

OpenAPI

ts
import {
  createOpenAPIDocument,
  describeRoute,
  defineParameter,
  defineRequestBody,
  defineResponse,
  defineSecurityScheme,
  defineHeader,
  defineExample,
  defineLink,
  defineCallback,
  definePathItem,
  requireSecurity,
} from 'orvajs/openapi';

Adapters

ts
import { serveNode } from 'orvajs/adapters/node';
import { serveDeno } from 'orvajs/adapters/deno';
import { serveBun } from 'orvajs/adapters/bun';
import { createAWSLambdaHandler } from 'orvajs/adapters/aws-lambda';
import { createNetlifyFunctionHandler } from 'orvajs/adapters/netlify';
import { createAzureFunctionHandler } from 'orvajs/adapters/azure';
import { createCloudflareWorker } from 'orvajs/adapters/cloudflare';
import { createAppRouteHandler } from 'orvajs/adapters/vercel';

也可以从聚合入口导入:

ts
import { serveNode, serveBun } from 'orvajs/adapters';

Middlewares

ts
import { cors, secureHeaders } from 'orvajs/middlewares';
import { cors as corsFactory } from 'orvajs/middlewares/cors';

建议

  • 应用代码中,根入口只用于核心类型和 createOrva()
  • 构建库或模板时,尽量使用细粒度子路径
  • 不要再把 adapters / RPC / validator / openapi 重新回灌到根入口

Built with VitePress. Structured for production docs, multilingual delivery and long-term versioning.