@gluonjs/ssr / packages/ssr/src/static / StaticGenerationOptions
Interface: StaticGenerationOptions
Properties
assets
readonlyassets:AssetManifest
clean?
readonlyoptionalclean?:boolean
document?
readonlyoptionaldocument?: (result,url) =>string
Parameters
result
url
string
Returns
string
dynamicRoutes?
readonlyoptionaldynamicRoutes?: readonlystring[]
outputDirectory
readonlyoutputDirectory:string
render
readonlyrender: (url) =>Promise<SsrRequestResult>
Parameters
url
string
Returns
Promise<SsrRequestResult>
routes
readonlyroutes: readonlystring[]
Example
Configure static output ownership, public assets, concrete routes, dynamic fallbacks, and the request renderer used for every page:
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);