FAQ & Help
graphql-yoga compare to
apollo-server and other tools?
As mentioned above,
graphql-yoga is built on top of a variety of other packages, such as
apollo-server. Each of these provide a certain piece of functionality required for building a GraphQL server.
Using these packages individually incurs overhead in the setup process and requires you to write a lot of boilerplate.
graphql-yoga abstracts away the initial complexity and required boilerplate and let's you get started quickly with a set of sensible defaults for your server configuration.
graphql-yoga is like
create-react-app for building GraphQL servers.
Can't I just setup my own GraphQL server using
graphql-yoga is all about convenience and a great "Getting Started"-experience by abstracting away the complexity that comes along when you're building your own GraphQL from scratch. It's a pragmatic approach to bootstrap a GraphQL server, much like
create-react-app removes friction when first starting out with React.
Whenever the defaults of
graphql-yoga are too tight of a corset for you, you can simply eject from it and use the tooling it's build upon - there's no lock-in or any other kind of magic going on preventing you from this.
How to eject from the standard
The core value of
graphql-yoga is that you don't have to write the boilerplate required to configure your express.js application. However, once you need to add more customized behaviour to your server, the default configuration provided by
graphql-yoga might not suit your use case any more. For example, it might be the case that you want to add more custom middleware to your server, like for logging or error reporting.
For these cases,
GraphQLServer exposes the
express.Application directly via its
Middlewares can also be added specifically to the GraphQL endpoint route, by using:
Any middlewares you add to that route, will be added right before the
If you have are experiencing bugs or other problems with
graphql-yoga, please open a new issue in the GitHub repository.