我有一个单回购设置。它看起来像这样:
- 项目
- 节点模块
- 包装
- 我的第一个项目
- 棱镜
- schema.prisma
- 棱镜
- 我的第二个项目
- 棱镜
- schema.prisma
- 棱镜
- 我的第一个项目
所以这两个项目(我的第一个项目和第二个项目(都安装了@prisma/client,并从上面的node_modules文件夹中获取依赖项。
问题是,每当我更改schema.prisma文件中的某些内容(例如,在我的第一个项目中(并运行npx prisma migrate dev --name whatever
时,它都会生成所有类型和内容,并将其放在node_modules文件夹的上部。这导致了";未找到类型";另一个项目(例如我的第二个项目(上的错误。
有没有办法告诉npm在每个项目中的一个单独的node_modules文件夹中保留一些依赖项?
您可以配置一个自定义输出路径来指定应该生成PrismaClient
的位置。
示例:
generator client {
provider = "prisma-client-js"
output = "../src/generated/client"
}
你应该能够像这样导入PrismaClient
:
import { PrismaClient } from './generated/client'
通过在node_modules
之外生成PrismaClient应该可以解决您的问题。