如何搭配GraphQL Yoga配置Prisma的GraphQL Playground并访问
Prisma Playground访问地址及相关问题解答
首先区分你使用的Prisma版本,不同版本的逻辑完全不同:
如果你使用的是 Prisma 1.x 版本(适配prisma-binding的场景)
- 早期默认端口确实是
localhost:4466,但端口支持自定义,你prisma.js里写的endpoint是localhost:5555,说明你在prisma.yml配置文件里已经把端口改成了5555,只要你成功执行了prisma deploy启动Prisma服务,直接在浏览器访问http://localhost:5555就能打开对应的GraphQL Playground。 - 执行
prisma deploy后终端会直接输出准确的端点地址,你可以和配置值做核对。
如果你使用的是 Prisma 2.0及以上 版本
- 官方已经废弃了内置GraphQL端点、GraphQL Playground以及prisma-binding,不会默认暴露任何GraphQL接口。你需要的GraphQL接口完全由你搭配的graphql-yoga服务提供,你启动的yoga服务默认运行在
localhost:4000,直接访问该地址就能打开yoga自带的GraphQL Playground,你的Node业务逻辑里直接调用这个4000端口的接口即可。
代码优化提示
- 你当前的
index.js中没有把初始化好的prisma实例注入到GraphQLServer的context里,resolver函数无法直接调用prisma操作数据库,需要调整context配置:
const server = new GraphQLServer({ typeDefs: './src/schema.graphql', resolvers, context: { db, pubsub, prisma // 新增这行,把prisma实例传入上下文 } })
- 注意拼写修正:
prisma-biding应为prisma-binding,启动日志中的Grapqhl应为GraphQL。
内容的提问来源于stack exchange,提问作者confusedWarrior
相关产品推荐
相关产品推荐

