Server Loader
Server Loader: Return Object
A server-only loader is defined in a separate .ts file. When present, it runs instead of any client loader, giving you access to server-side resources like databases, file systems, and environment variables that should never be exposed to the client.
When to Use Server-Only Loaders
- Accessing databases or server-side services directly
- Reading secrets, API keys, or environment variables
- Performing authentication/authorization checks
- Loading data that requires server-side processing
Loaded Data
- Message
- Data loaded from the server!
- Timestamp
- 2026-01-11T20:44:48.577Z
- Server-Only Data
- Server PID: 360
Server Loader (object.ts)
import type { RouteLoaderArgs } from "@udibo/juniper";
import type { ServerLoaderData } from "./object.tsx";
export async function loader(
_args: RouteLoaderArgs,
): Promise<ServerLoaderData> {
await new Promise((resolve) => setTimeout(resolve, 300));
return {
message: "Data loaded from the server!",
timestamp: new Date().toISOString(),
serverOnly: `Server PID: ${Deno.pid}`,
};
}Note: The serverOnly field contains the server process ID, demonstrating access to server-only resources. This data is never bundled into the client.