Search code examples
sveltekit

SvelteKit, import type LayoutServerLoad/PageLoad


In layout.server.ts I try to

import type { LayoutServerLoad } from './$types';

but the type can't be found:

'"./$types"' has no exported member named 'LayoutServerLoad'. Did you mean 'LayoutServerData'?

What do I need to do to get the type LayoutServerLoad (or PageLoad or PageServerLoad ...) in ./$types?


Solution

    • The file has to be called +layout.server.ts (or for another load action, one of the other fixed names, see docs)
    • The Vite dev server has to be running, which watches the files and generates the types when a file is changed. (You can also execute svelte-kit sync to generate those files.)
    • (The tsconfig.json has to extend .svelte-kit\tsconfig.json, which defines rootDirs, so the generated types are resolved. This should already be the case, judging by the suggestion for LayoutServerData.)