Edit this page

onPrerenderStart() hook

Environment: build-time (Node.js/Bun/Deno)
Cumulative: false
Global: true

The onPrerenderStart() hook is called once when pre-rendering starts. It receives as argument an array of all page contexts to be pre-rendered, and returns a new array of page contexts, giving you a chance to add/remove/modify pages. This is usually used for internationalization.

export { onPrerenderStart }
 
import type { PrerenderContext, PageContextServer } from 'vike/types'
 
async function onPrerenderStart(prerenderContext: PrerenderContext) {
  // new page contexts
  const pageContexts: PageContextServer[] = []
 
  // for each original page context:
  prerenderContext.pageContexts.forEach((pageContext) => {
    // for each locale, push a new page context to pageContexts
    // ...
  })
 
  return {
    prerenderContext: {
      pageContexts
    }
  }
}

See also