## Demo: server-island ### ServerIsland.svelte ```svelte

The islands below are delayed on purpose to show the loading state.

Loading server island
Loading server island
``` ### ServerGreeting.svelte ```svelte { mouseX = e.clientX; mouseY = e.clientY; }} />

Hello, {displayName}! 🏝️

Rendered at {renderedAt}

Mouse position: {mouseX}, {mouseY}

$props.id(): {islandId}

bigProp: {bigProp}

bigProp length: {bigProp.length}

``` ### ServerNoProps.svelte ```svelte

Server island without props

Random number generated on server: {randomNumber}

$props.id(): {islandId}

``` ### routes.ts ```ts import { Mochi } from 'mochi-framework'; import type { MochiRouteValue } from 'mochi-framework'; export const routes: Record = { '/demos/server-island': Mochi.page('./src/demos/server-island/ServerIsland.svelte'), }; ``` ### index.ts ```ts import { Mochi, logger } from 'mochi-framework'; await Mochi.serve({ port: 3333, development: process.env.MODE === 'development', routes: { '/': Mochi.page('./src/Home.svelte'), }, }); logger.info('Server running at http://localhost:3333'); ```