import { Callout } from '@theguild/components'

# Node.js Frameworks

We highly recommend to use Hive Gateway with the CLI in Node.js as described in
[Node.js guide](/docs/gateway/deployment/runtimes/nodejs). But if you want to use Hive Gateway with
a Node.js framework, you can use the `createGatewayRuntime` function from `@graphql-hive/gateway`
package.

In this case, you have to pass your serve configuration inside `createGatewayRuntime` instead of
exporting it `gatewayConfig` from `gateway.config.ts` file.

It handles Node.js request and response types which are
[IncomingMessage](https://nodejs.org/api/http.html#http_class_http_incomingmessage) and
[ServerResponse](https://nodejs.org/api/http.html#http_class_http_serverresponse).

If your framework has middlewares and so on, you can handle the response by yourself as in
[Fastify example](/docs/gateway/deployment/node-frameworks/fastify).

Choose your framework from the list on the left to see an example.
