导入Prisma客户端时出现[ERR_INVALID_MODULE_SPECIFIER]错误求助
解决Prisma客户端导入的[ERR_INVALID_MODULE_SPECIFIER]错误
这个错误出现在Electron打包后的dist-electron/main.js中,核心原因是Prisma生成的客户端路径不符合Electron的ESM模块解析规则,导致系统把.prisma/client/default当成了无效包名。以下是可行的解决步骤:
修正Prisma生成路径
编辑项目根目录的prisma/schema.prisma,修改generator client配置,强制将客户端输出到node_modules目录下(Electron能正确识别该路径):generator client { provider = "prisma-client-js" output = "./node_modules/.prisma/client" }执行命令重新生成客户端:
npx prisma generate规范导入语句
不要手动导入.prisma/client下的文件,使用Prisma提供的标准导入方式:// 正确写法 import { PrismaClient } from '@prisma/client' // 禁止直接导入生成的文件 // import { PrismaClient } from '.prisma/client/default'调整Electron打包配置
如果使用electron-builder,在package.json的build字段中添加.prisma目录到打包资源列表:"build": { "files": [ "dist-electron/**/*", ".prisma/**/*" ] }确保打包时Prisma客户端文件被完整包含。
清理缓存重新构建
清理旧的生成文件和打包缓存,再重新执行生成和打包:rm -rf node_modules/.prisma/client npx prisma generate npm run build-electron # 替换成你的Electron打包命令
内容的提问来源于stack exchange,提问作者Mohsin Raza
相关产品推荐
相关产品推荐

