@evjs/服务器
服务器运行时间核心 页:1 框架和独立的Hono/fetch apps.
特征
- 以Hono为基地 ——在您的 React 应用程序的同时建立 RESTful API .
- 服务器函数支持 - 无缝手柄
"use server"具有类型安全的函数调用. - 标准请求/答复 —— 说
createRoute()用于简化 API 端点创建的工厂. - 多运行时间 ——头等支持 节点.js 和标准的获取运行时间德诺, (中文(简体) ), 阿宝, (中文(简体) ), 云花岗工人) (中文(简体) ).
安装
npm install @evjs/server
快速启动
1. 服务器路由
使用 createRoute() 工厂:
// src/routes/users.ts
import { createRoute } from "@evjs/server";
export const usersRoute = createRoute("/api/users", {
GET: async (_request) => Response.json([{ id: 1, name: "Alice" }]),
});
这个 path 一定是个 字符串文字 因此,路径定义保持精确
编译时间类型 。 在独立应用程序中明确注册路径 :
// src/app.ts
import { createApp } from "@evjs/server";
import { usersRoute } from "./routes/users.js";
export const app = createApp({ routes: [usersRoute] });
此程序 API 独立于 evjs Framework 文件路径
时间 src/apis/**/api.*; 框架不扫描 createRoute()
声明.
2. 服务器函数
框架项目使用 "use server" 在可达到模块中指令。 这个
生成的服务器条目创建应用程序所属的函数注册并
记录每个发现的导出. .server.ts 建议的命名
公约,而不是发现规则:
// src/posts.server.ts
"use server";
export async function getPosts() {
// Query DB or third-party API
return [{ id: 1, title: "Hello World" }];
}
独立应用程序明确登记其功能执行。 一样 注册处可发送自定义 WebSocket 或 IPC 传输的呼叫:
import { createApp, createServerFunctionRegistry } from "@evjs/server";
import { getPosts } from "./posts.server.js";
const serverFunctions = createServerFunctionRegistry();
serverFunctions.register("posts:getPosts", getPosts);
export const app = createApp({ serverFunctions });
注册程序被隔离到每个应用程序,因此在一个过程中的两个应用程序可以安全使用 用于不同执行的相同函数 id.
运行时适应器
节点.js
import { serve } from "@evjs/server/node";
import { app } from "./app";
serve(app, { port: 3001 });
获取( Deno/ Bun/ Edge)
@evjs/server/fetch 提供零配置空应用程序。 当a
独立应用程序拥有路由或服务器功能,导出该应用程序的处理器:
import { app } from "./app.js";
Deno.serve({ port: 3001 }, app.fetch);
发现命名模块导出的工人风格主机可以使用相同的处理器:
import { app } from "./app.js";
export const fetch = app.fetch;
export default { fetch };
核心 API 软件
路线
createRoute(path, handler): 创建一个 REST 端点.createApp(options): 主应用工厂.createServerFunctionRegistry(): 为 一种应用程序或自定义运输.
应用程序配置服务器运行时间 API 导出自 @evjs/server 财务报告和审定财务报表
它运行时的子路径。 使用 @evjs/ev 当应用程序需要框架构成时
例如文件路由发现、服务器功能转换、SSR/PPR/RSC构建
鉴定、清单或部署文物.
许可证
麻省理工学院