Getting Started
Build HTTP servers with web standard APIs like fetch, Request, and Response.
Quick Start (CLI)
Create a server entry:
server.ts
export default {
fetch(req: Request) {
return Response.json({ hello: "world!" });
},
};
Then, run the server using your favorite runtime:
npx srvx
pnpx srvx
yarn dlx srvx
deno -A npm:srvx
bunx --bun srvx
You can also try examples in the online playground
Quick Start (API)
Instead of using the srvx
CLI, you can directly import the serve
method to define a self-listening server entry.
Create a server entry:
server.ts
import { serve } from "srvx";
const server = serve({
fetch(request) {
return Response.json({ hello: "world!" });
},
});
Install srvx
as a dependency:
npm i srvx
yarn add srvx
pnpm i srvx
bun i srvx
deno i srvx
Then, run the server using your favorite runtime:
node server.mjs
deno run --allow-env --allow-net server.mjs
bun run server.mjs
Starter Examples
Example | Source | Try |
---|---|---|
elysia | examples/elysia | npx giget gh:h3js/srvx/examples/elysia srvx-elysia |
express | examples/express | npx giget gh:h3js/srvx/examples/express srvx-express |
h3 | examples/h3 | npx giget gh:h3js/srvx/examples/h3 srvx-h3 |
hello-world | examples/hello-world | npx giget gh:h3js/srvx/examples/hello-world srvx-hello-world |
hono | examples/hono | npx giget gh:h3js/srvx/examples/hono srvx-hono |
jsx | examples/jsx | npx giget gh:h3js/srvx/examples/jsx srvx-jsx |
node-handler | examples/node-handler | npx giget gh:h3js/srvx/examples/node-handler srvx-node-handler |
service-worker | examples/service-worker | npx giget gh:h3js/srvx/examples/service-worker srvx-service-worker |
websocket | examples/websocket | npx giget gh:h3js/srvx/examples/websocket srvx-websocket |