有没有办法在sveltekit加载函数中运行 prisma?

Is there a way to run prisma in the sveltekit load function?

我有一个正在开发的 sveltekit 应用程序,它包括 Prisma, 我一直在尝试通过 __layout 的加载函数将一个帖子数组传递到我的所有路由。
当我加载网站

时出现此错误

这是我的代码

<!-- src/routes/__layout.svelte -->
<script context=module>
    export const ssr = true;
    import Prisma from '$lib/db';
    // code breaks past this import, nothing runs, cant even test the code below
    import { browser } from '$app/env'; 
    export async function load() {
        let posts;
        let db = new Prisma();
        if(!browser) {
            posts = await db.post.findMany({
                select: {
                    id: true,
                    title: true,
                    body: true,
                    authorId: true,
                    author: true,
                }
            })

            await db.$disconnect();
        } else {
            posts = [
                {
                    id: 0,
                    title: 'An error ocurred',
                    body: '',
                    authorId: 0,
                    author: {}
                }
            ]
        }
        return {
            stuff: {
                posts
            }
        }
    }
</script>
// src/lib/db.ts
import Prisma, * as PrismaAll from "@prisma/client";

const PrismaClient = Prisma?.PrismaClient || PrismaAll?.PrismaClient;
const prisma = new PrimsaClient();
export default prisma;

如果我做错了什么请告诉我。

使用 hooks.ts 作为解决方法。

import db from "$lib/db"

/** @type {import('@sveltejs/kit').GetSession} */
export async function getSession() {
    let posts = await db.post.findMany({
        select: {
            id: true,
            title: true,
            body: true,
            authorId: true,
            author: true,
        }
    })
    db.$disconnect();
    return {
        posts
    }
}

我的加载函数如下所示

<script context=module>
    export async function load({ session }) {
        return {
            stuff: {
                ...session
            }
        }
    }
</script>