diff --git a/.changeset/eight-moons-kick.md b/.changeset/eight-moons-kick.md new file mode 100644 index 000000000000..560517572200 --- /dev/null +++ b/.changeset/eight-moons-kick.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/kit': patch +--- + +fix: generate `__data.json` for prerendered pages when SSR is turned off diff --git a/packages/kit/src/runtime/server/page/index.js b/packages/kit/src/runtime/server/page/index.js index 6ba98410d50f..f99391b1365f 100644 --- a/packages/kit/src/runtime/server/page/index.js +++ b/packages/kit/src/runtime/server/page/index.js @@ -99,7 +99,7 @@ export async function render_page(event, page, options, manifest, state, resolve /** @type {import('./types').Fetched[]} */ const fetched = []; - if (get_option(nodes, 'ssr') === false) { + if (get_option(nodes, 'ssr') === false && !state.prerendering) { return await render_response({ branch: [], fetched, diff --git a/packages/kit/test/prerendering/basics/src/routes/shadowed-get/ssr-off/+page.server.js b/packages/kit/test/prerendering/basics/src/routes/shadowed-get/ssr-off/+page.server.js new file mode 100644 index 000000000000..ac41ba4b7e77 --- /dev/null +++ b/packages/kit/test/prerendering/basics/src/routes/shadowed-get/ssr-off/+page.server.js @@ -0,0 +1,7 @@ +export const ssr = false; + +export function load() { + return { + answer: 42 + }; +} diff --git a/packages/kit/test/prerendering/basics/src/routes/shadowed-get/ssr-off/+page.svelte b/packages/kit/test/prerendering/basics/src/routes/shadowed-get/ssr-off/+page.svelte new file mode 100644 index 000000000000..a475b1237f27 --- /dev/null +++ b/packages/kit/test/prerendering/basics/src/routes/shadowed-get/ssr-off/+page.svelte @@ -0,0 +1,6 @@ + + +