A Node.js web framework is like a toolbox that helps web developers build server-side web applications using Node.js. It provides a structure and tools that make it easier to handle things like routing (directing requests to the right places), managing requests and responses, handling user sessions, working with databases, and creating web page templates. These frameworks simplify the process of building web applications, allowing developers to create scalable and high-performing websites. They take care of common tasks like handling incoming requests and sending out responses, so developers can focus on the unique features of their applications. They also make it easier to work with databases and other external services, making the development process faster and more efficient.
End-to-end typesafe APIs made easy
@trpc/server
Create tRPC routers and connect them to a server.
Full documentation for @trpc/server
can be found here
# npm
npm install @trpc/server
# Yarn
yarn add @trpc/server
# pnpm
pnpm add @trpc/server
# Bun
bun add @trpc/server
We also recommend installing zod
to validate procedure inputs.
import { initTRPC } from '@trpc/server';
import {
CreateHTTPContextOptions,
createHTTPServer,
} from '@trpc/server/adapters/standalone';
import { z } from 'zod';
// Initialize a context for the server
function createContext(opts: CreateHTTPContextOptions) {
return {};
}
// Get the context type
type Context = Awaited<ReturnType<typeof createContext>>;
// Initialize tRPC
const t = initTRPC.context<Context>().create();
// Create main router
const appRouter = t.router({
// Greeting procedure
greeting: t.procedure
.input(
z.object({
name: z.string(),
}),
)
.query(({ input }) => `Hello, ${input.name}!`),
});
// Export the app router type to be imported on the client side
export type AppRouter = typeof appRouter;
// Create HTTP server
const { listen } = createHTTPServer({
router: appRouter,
createContext,
});
// Listen on port 2022
listen(2022);