You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在TypeScript中扩展globalThis/global类型以适配PrismaClient?

解决方法

步骤1:添加全局类型声明

在你的项目根目录下新建一个类型声明文件,比如命名为 prisma.d.ts,写入以下内容:

import { PrismaClient } from '@prisma/client';

declare global {
  var prisma: PrismaClient | undefined;
}

注意:这里必须用var声明,用let或者const无法挂载到globalThis上,会导致声明不生效。

步骤2:确认TypeScript配置识别声明文件

打开你的tsconfig.json,检查include数组是否包含了你刚才创建的声明文件路径,比如下面的配置就会自动识别根目录下所有.d.ts文件:

{
  "compilerOptions": { 
    // 其余原有配置保持不变
  },
  "include": ["**/*.ts", "**/*.tsx", "prisma.d.ts"]
}

步骤3:原代码可正常运行

全局类型声明生效后,你原本的代码中global.prisma调用就会自动匹配PrismaClient类型,不会再抛出ts(7017)错误。开发环境下热重载时也会复用同一个Prisma实例,避免多次初始化连接导致的数据库连接耗尽问题。

内容的提问来源于stack exchange,提问作者Forgotten-Storm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 00:06:05