Jak*_*iri 3 javascript typescript prisma
我收到这个错误
error TS2694: Namespace 'NodeJS' has no exported member 'Global'.
4 interface CustomNodeJsGlobal extends NodeJS.Global
Run Code Online (Sandbox Code Playgroud)
运行此程序时
import { PrismaClient } from "@prisma/client";
// add prisma to the NodeJS global type
interface CustomNodeJsGlobal extends NodeJS.Global {
prisma: PrismaClient;
}
// Prevent multiple instances of Prisma Client in development
declare const global: CustomNodeJsGlobal;
const prisma = global.prisma || new PrismaClient();
if (process.env.NODE_ENV === "development") global.prisma = prisma;
export default prisma;
Run Code Online (Sandbox Code Playgroud)
这是版本的问题@types/node。
--> 与"@types/node": "^15.4.0"(我记不太清了,但是是从15(15.xx)开始的)
--> 更新到最新版本后显示错误"@types/node": "^16.3.0"
使它与最新版本一起工作的标准方法是什么"@types/node": "^16.3.0",?
截至node@16该NodeJS.Global界面已被删除,以支持globalThis.
您可以在模块文件中声明新的全局变量:
declare global {
var NEW_GLOBAL: string;
}
Run Code Online (Sandbox Code Playgroud)
在非模块文件(无顶级导入/导出)中为:
declare var NEW_GLOBAL: string;
Run Code Online (Sandbox Code Playgroud)
重要提示:变量必须声明为var. let或const变量未显示在 上globalThis。
因此,您的代码可以重写为:
import { PrismaClient } from "@prisma/client";
declare global {
var prisma: PrismaClient;
}
const prisma = global.prisma || new PrismaClient();
if (process.env.NODE_ENV === "development") global.prisma = prisma;
export default prisma;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1373 次 |
| 最近记录: |