@gluonjs/ssr


@gluonjs/ssr / packages/ssr/src/static / generateStaticSite

Function: generateStaticSite()

generateStaticSite(options): Promise<StaticGenerationResult>

Prerenders explicit public routes and records dynamic deployment fallthroughs.

Parameters

options

StaticGenerationOptions

Returns

Promise<StaticGenerationResult>

Example

Prerender an explicit route list into deployment files while recording dynamic routes for runtime fallback:

ts
import { createApp, html } from '@gluonjs/core';
import { renderRequest } from '@gluonjs/ssr';
import { generateStaticSite, type StaticGenerationOptions, type StaticGenerationResult } from '@gluonjs/ssr/static';

const options = {
  routes: ['/', '/about'],
  dynamicRoutes: ['/products/:id'],
  outputDirectory: 'dist-static',
  assets: { entry: '/assets/app.js' },
  render: (url: string) => renderRequest({
    url,
    createApp: ({ url: currentUrl }) => createApp(() => html`<main>${currentUrl}</main>`),
  }),
} satisfies StaticGenerationOptions;

const generated: StaticGenerationResult = await generateStaticSite(options);
console.log(generated.pages, generated.dynamicRoutes);