Skip to content

(Beta V3) Apllo-Server integration for Midway & Midway Serverless.

License

Notifications You must be signed in to change notification settings

LinbuduLab/apollo-server-midway-v3

Repository files navigation

Apollo-Server-Midway V3

简介

  • 这里是 Apollo-Server-Midway 的 V3 版本,适用于 Midway V3 版本
  • 适用于 Midway V2 版本: Apollo-Server-Midway,你也可以直接阅读 GraphQL | Midway
  • V3 版本相对比 V2 版本有非常多的改进与新的 Feature 支持,目前仍处于开发阶段中,但已支持了基本的 Koa App 项目,你可以参考 koa-app-sample-v3 ,阅读下方的 尝鲜 一节来了解更多。
    • 目前大部分的能力和 V2 保持一致,但移除了内置的 Apollo Plugin
    • 对 Express、 Midway Serverless 的支持尚未完成

尝鲜

$ pnpm install

cd packages/koa-app-sample-v3

pnpm dev

在完成安装后,你还需要手动修改 packages/koa-app-sample-v3/node_modules/@midwayjs/koa/dist/framework.js,注释掉 59 - 61 行代码,来暂时禁用掉 V3 内置的 notFound 中间件。

 // not found middleware
const notFound = async (ctx, next) => {
	await next();
	// if (!ctx._matchedRoute) {
	//     throw new core_1.httpError.NotFoundError();
	// }
};

使用以下的简单查询:

query {
  QuerySample {
    SampleField
  }
}

参考 GraphQL Middleware 来了解如何为 Midway V3 编写基于 Apollo Server 的 GraphQL 中间件。

WIP

  • 使用成本
    • 支持零配置使用
    • 支持内置的 PlainTypeDefs、PlainResolvers 来提供快速的上手
    • 配置及配置声明植入
  • 框架支持
    • 支持 Express (V3 将不再支持 EggJS)
    • 支持 Midway Serverless
  • 能力增强
    • 全新的、基于 V3 的插件
    • 内置 Prisma 支持
    • 内置 Nexus 支持
    • Apollo Tracing & Reporting 支持

About

(Beta V3) Apllo-Server integration for Midway & Midway Serverless.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published