/node_modules/@prisma/client/runtime/index.js找不到模块:无法解析“ async_hooks”

时间:2020-11-11 13:56:25

标签: next.js prisma

错误说明 您好,我是Prisma的新手。我一直在尝试使用nextjs访问Prisma数据库。每次我尝试在nextjs页面中使用@ prisma / client中的PrismaClient时,都会看到此错误。

./ node_modules/@prisma/client/runtime/index.js:26236:39 找不到模块:无法解析“ async_hooks” 空

如何复制 重现行为的步骤:

我的架构文件

datasource db {
provider = "mysql"
url = env("DATABASE_URL")
}

generator client {
provider = "prisma-client-js"
}

model User {
id Int @default(autoincrement()) @id
email String @unique
name String
password String
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}

我创建了一个迁移并使用以下命令运行

npx pyramida迁移保存-实验性 npx pyramida向上迁移-实验性

然后我还要运行npx pyramida generate

这是我访问棱镜客户端的register.tsx文件

import { useState } from "react";
import { useRouter } from "next/router";
import { PrismaClient } from "@prisma/client";

const prisma = new PrismaClient();

interface RegisterProps {}

const Register: React.FC = ({}) => {
const router = useRouter();
const [email, setEmail] = useState("");
const [password, setPassword] = useState("");
const [name, setName] = useState("");

const submitHandler = async (e) => {
e.preventDefault();
try {
const user = await prisma.user.create({
data: {
email,
password,
name,
},
});
console.log(user);
router.push("/");
} catch (e) {
console.log(e);
}
};

return (
// my template goes here
);
};

导出默认注册;

运行此命令后,出现以下错误

/node_modules/@prisma/client/runtime/index.js 找不到模块:无法解析“ async_hooks” 空

预期行为 我希望此代码首先构建我的页面。但是它没有这样做,并向我显示了标题中的错误。

主要信息 所有这些信息都包含在复制零件的步骤中

环境与设置 操作系统:Ubuntu 数据库:MySQL Node.js版本:14.05 原始版本:2.11.0

1 个答案:

答案 0 :(得分:1)

不可能在前端直接使用PrismaClient。您只能在NextJS支持的服务器端方法(如this)中调用它。