Sch*_*lla 5 npm typescript prisma
目前我正在开发一个使用 prisma 提供数据的 api。该 API 被多个项目使用。在 api 中,我生成用于Prisma.ModelGetPayload定义某些 api 响应的返回类型的类型。
import { Prisma } from "@prisma/client";
export const minimalSelect = Prisma.validator<Prisma.ModelXYSelect>()({
id: true,
name: true
});
export type MinimalModelXY = Prisma.ModelXYGetPayload<{
select: typeof minimalSelect;
}>;
Run Code Online (Sandbox Code Playgroud)
或者可以简单地从 prisma 客户端导入枚举。
import { EnumXY } from "@prisma/client";
Run Code Online (Sandbox Code Playgroud)
这些枚举和类型定义依赖于生成的 API 的 Prisma 客户端。
有一些解决方案可以将整个 prisma 客户端提取到 npm 包中(请参阅此处),但是,这不是我想要做的。
是否可以将这些类型提取到 npm 包中以在多个项目之间共享它们,而无需提取整个 prisma 客户端?
如果您想导出 Prisma 生成的所有类型,您可以在以下位置找到所有类型:node_modules/.prisma/client/index.d.ts
您可以将此文件导出到 npm 包中并在前端应用程序中使用它。
您可以使用的另一种方法是将其发布schema.prisma到 npm 包。然后在您的其他项目中,您可以从该文件生成 prisma 客户端库schema.prisma,这样您就不需要导出 PrismaClient。
| 归档时间: |
|
| 查看次数: |
2347 次 |
| 最近记录: |