Apollo-server-express

Apollo-server-express typescript

GraphQL de forma sencilla, o: No uses ApolloLos fundamentos de GraphQL son notablemente simples. Sin embargo, el tren de la publicidad y el ecosistema de velocidad de cohete significa que la construcción de una API GraphQL en el mundo real puede ser un acto de equilibrio difícil de apilar componentes complejos que interactúan una milla de alto, ninguno de los cuales nadie entiende completamente.

Alrededor del 90% de esta pila se construye y se promueve fuertemente por una empresa financiada por VC llamada Apollo. Apollo se describe a sí misma como una “plataforma de gráficos de datos” que ha construido la autodenominada “implementación GraphQL estándar de la industria”.

Desafortunadamente, aunque estoy seguro de que su plataforma es genial, si estás configurando una nueva API GraphQL no deberías empezar con Apollo. Ciertamente puede ser útil más tarde, pero el primer día es una trampa, y harás tu vida más simple y fácil si lo evitas por completo.

Los paquetes de Apollo necesarios para instalar el paquete base apollo-server sugerido en su guía de inicio incluyen el motor de informes “Apollo Studio” (de nombre Apollo Graph Manager, de nombre Apollo Engine), que integra tu servidor con su servicio en la nube, además de definiciones protobuf adicionales para informar al servicio en la nube con Protobuf. Incluye el rastreo de solicitudes para su propio formato de rastreo personalizado, múltiples paquetes de caché personalizados, una capa de abstracción que potencia las numerosas capas de enlace de transporte disponibles, una capa de abstracción para conectar fuentes de datos externas…

->  Como aprender coreano facil

Apollo-server-express github

En este breve post, demostramos cómo usar Apollo Server para crear un servidor GraphQL con Express.js usando el paquete apollo-server-express. Al final, discutiremos las ventajas de este enfoque.

El uso de apollo-server-express implica un poco más de trabajo que el simple uso de apollo-server. Sin embargo, como apollo-server es sólo una envoltura de apollo-server-express, no debería haber problemas de rendimiento.

Hemos aprendido a configurar un servidor GraphQL con apollo-server-express y hemos discutido algunas de las compensaciones. Si estás utilizando una biblioteca de middleware diferente como Restify, Hapi, Koa o Lambdas, consulta nuestros documentos para obtener detalles sobre las otras integraciones de la API GraphQL.

Campo de juego Apollo-server-express

Esta es la integración Express de Apollo Server. Apollo Server es un servidor GraphQL de código abierto mantenido por la comunidad que funciona con muchos marcos de servidores HTTP de Node.js. Lee la documentación. Lee el CHANGELOG.

->  Licenciado en relaciones comerciales

Antes de Apollo Server 3, apoyamos oficialmente el uso de este paquete con connect también. connect es un framework más antiguo del que express evolucionó. Por ahora, creemos que este paquete sigue siendo compatible con connect e incluso realizamos pruebas contra connect, pero podemos optar por romper esta compatibilidad en algún momento sin un cambio de versión importante. Si confías en la capacidad de usar Apollo Server con connect, puede que quieras hacer tu propia integración.

Apollo-server-express npm

Hemos añadido muchas cosas aquí, así que vamos a repasarlas. En primer lugar, creamos una variable servidor y la hacemos igual al valor de retorno de la llamada a new ApolloServer(). Esta es nuestra instancia de Apollo Server. Como argumento a ese constructor para configurar nuestro servidor, pasamos un objeto con tres propiedades: playground, typeDefs, y resolvers.

Aquí, a playground se le asigna un valor booleano true que le dice a Apollo Server que habilite la interfaz gráfica de GraphQL Playground en /graphql cuando el servidor se esté ejecutando. Esta es una herramienta útil para probar y depurar tu API GraphQL sin tener que escribir un montón de código front-end. Normalmente, es bueno limitar el uso del playground sólo a tu NODE_ENV de desarrollo. Para ello, puedes establecer aquí el playground a process.env.NODE_ENV === ‘development’.

->  Indicadores clave de rendimiento

A continuación, las propiedades typeDefs y resolvers describen el esquema de tu servidor GraphQL. La primera, typeDefs es la parte de tu esquema donde defines los posibles tipos, consultas y mutaciones que el servidor puede manejar. En GraphQL, hay dos tipos raíz Query y Mutation que pueden ser definidos junto a tus tipos personalizados (que describen la forma de los datos devueltos por tus consultas y mutaciones) como type Pizza {}.

Esta web utiliza cookies propias para su correcto funcionamiento. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad