typescript - 从 Svelte Kit 中的加载函数调用 prisma 客户端

标签 typescript svelte prisma sveltekit

我正在使用 Prisma.io 编写数据库,并希望从 typescript 函数调用 Prisma 客户端。

我尝试使用 Svelte 套件的加载功能,并将调用写入隐藏的 _api.ts 文件,但它不起作用。 Prisma 客户端提示它无法从浏览器运行。我知道它应该以某种方式仅在服务器上运行。将 Prisma 与 Svelte 套件结合使用并在服务器上运行调用的正确方法是什么?

最佳答案

Svelte 中的“load”函数可能在服务器上运行,也可能在浏览器中运行,因此这可能是错误的原因。

我建议您将 _api.ts 转换为可调用端点。然后,您需要确保 api.ts 导出名为“get”(或其他方法)的函数。更多信息请点击:https://kit.svelte.dev/docs#routing-endpoints

完成此操作后,您应该能够直接浏览到 api 路由,并且您应该在 api.ts 文件中看到“get”函数的结果。

然后,在“load”函数中,您可以使用“fetch”方法来访问该路由并获取数据。在 Svelte 中,fetch 方法适用于服务器和浏览器。 https://kit.svelte.dev/docs#loading-input-fetch

更新:

要执行“POST”端点,您需要在端点文件中导出一个名为“post”的函数。我建议您通过 console.log 来查看调用端点时收到的数据:

export async function get(request) {
  console.log(request);
  return {
    body: { success: true },
  };
}

关于typescript - 从 Svelte Kit 中的加载函数调用 prisma 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69406036/

相关文章:

Angular 4 : Property "push" and "controls" does not exist on type "AbstractControl"

typescript - 在 TypeScript 中导入 ipfs

javascript - @urql/svelte,如果不在 onMount 中,则为 "Function called outside component initialization"

view - 如何从 SQL View 创建 Prisma 模型

linux - 从 Angular 4 组件运行 Linux 命令

javascript - typescript:在编译时检测对未初始化变量的赋值

javascript - SvelteJS与ReactJS渲染差异(重绘/重排)

svelte - 对属性更改应用 Svelte Transition

postgresql - Prisma 1 到 2 迁移问题 : P4001 The introspected database was empty

database - 使用 Prisma 时是否应该指定 PostgreSQL 字段的大小?