具有两个或多个@prisma/client依赖项的NPM工作区



我有一个单回购设置。它看起来像这样:

  • 项目
    • 节点模块
    • 包装
      • 我的第一个项目
        • 棱镜
          • 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应该可以解决您的问题。

最新更新