typescript - 从 Svelte Kit 中的加载函数调用 prisma 客户端
问题描述
我正在使用 Prisma.io 编写数据库,并想从打字稿函数调用 Prisma 客户端。
我尝试使用 Svelte 工具包的加载功能,并将调用写入隐藏的 _api.ts 文件,但它不起作用。Prisma 客户端抱怨无法从浏览器运行。我知道它应该以某种方式仅在服务器上运行。将 Prisma 与 Svelte 套件一起使用并在服务器上运行调用的正确方法是什么?
解决方案
Svelte 中的“加载”功能可能在服务器或浏览器中运行,因此这可能是错误的原因。
我建议你把 _api.ts 变成一个可调用的端点。然后,您需要确保 api.ts 导出一个名为“get”(或其他方法)的函数。更多信息在这里:https ://kit.svelte.dev/docs#routing-endpoints
完成此操作后,您应该能够直接浏览到 api 路由,并且应该在 api.ts 文件中看到“get”函数的结果。
然后,在您的“加载”函数中,您可以使用“获取”方法访问该路由并获取数据。在 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 },
};
}
推荐阅读
- java - 如何使用正则表达式按名称过滤 ble 设备?
- sonarqube - 外部问题的 SonarQube 问题状态更新
- makefile - 您如何使 % 通配符使规则变得虚假?
- elixir - 如何从已弃用的 Supervisor.spec 更新为新的 Supervisor.behaviour?
- python - Numpy,PIL 不会反转 PNG 图像
- xslt - 根据 XSLT 中的值过滤特定节点
- android - 如何使 TextView 可见几秒钟并阻止其他视图显示?
- drupal-8 - Drush 不会将命令结果导出为文件
- arrays - 如何在swift ui中从字符串中获取子字符串?
- android - 颤动的 FCM 通知声音在发布中不起作用