Skip to content

lit-ui-router-ssr / vite / definePrerender

Function: definePrerender() ​

ts
function definePrerender(script): PrerenderEntry;

Defined in: packages/lit-ui-router-ssr/src/vite.ts:110

Turns a callback that returns this package's prerender options into a prerender script's default export. The export spreads the build's values (outDir, base, shellHtml, write) under the options and calls this package's prerender(), so the script never calls it itself.

Parameters ​

ParameterTypeDescription
scriptPrerenderScriptreturns the prerender options; handed the build's values

Returns ​

PrerenderEntry

the default export for the prerender script, whose result's pages carry their payload report

Example ​

ts
import type { TemplateResult } from 'lit';
import type { UIRouterLit } from 'lit-ui-router';
import { settle, type PrerenderOptions } from 'lit-ui-router-ssr';
import { definePrerender } from 'lit-ui-router-ssr/vite';

declare const mounts: PrerenderOptions['mounts'];
declare const router: UIRouterLit;
declare function page(router: UIRouterLit): TemplateResult;

export default definePrerender((site) => ({
  mounts,
  router,
  paths: ['/', '/about'],
  renderShell: async (_verdict, { path }) => {
    await settle(router, path);
    return page(router);
  },
  document: (body) => site.shellHtml.replace('<!--app-->', body),
}));