Juan Antonio Cuahonte Isla
vanessa pellegrini
Gracias!
Luciano Cavallo
Gracias Juan Antonio!👍️
El Schema es la base de una API en GraphQL, es el encargado de describir todos los tipos de información que va a contener.
Para la creación de este proyecto usaremos una herramienta llamada npx, para ello primero debes instalarlo con el comando:
npm i -g npx
Una vez instalado, dentro de la carpeta de nuestro proyecto vamos a correr el siguiente comando:
npx license mit > LICENSE && npx gitignore node && git init && npm init -y
Ya que termina de correr el comando es momento de añadir la dependencia de GraphQL a nuestro proyecto:
npm i graphql
Dentro de GraphQL contamos con distintos tipos de datos escalares:
Juan Antonio Cuahonte Isla
vanessa pellegrini
Gracias!
Luciano Cavallo
Gracias Juan Antonio!👍️
Rogelio García Valenzuela
a 1.25 x se entiende mejor
Nicolás A. Rodríguez
me duermo a 1 x
Juan David Colorado Alvarez
1.5x esta fenomenal. :D
Esteban Aragon
Aquí dejo el comando para que sólo copien y peguen 😬
npx license mit > LICENSE && npx gitignore node && git init && npm init -y
kenedy carlos de la torre mendoza
Buenas Tardes me aparece un error
/var/www/platzi-dir$ sudo npx license mit > LICENSE && npx gitignore node && git init && npm init -y /usr/bin/env: ‘node’: No such file or directory
David Behar
Está extraño tu error, ya revisaste que tengas instalado npx? Por qué usaste sudo para instalar la licencia?
David Behar
Está tan cool el script para inicializar el proyecto que me hice un alias con los comandos necesarios para mí para iniciar un proyecto en js en general, lo puse en mí ~/.zshrc y ~/.basrc:
alias jsinit='npx license mit > LICENSE && npx gitignore node && git init && npm init -y && npx eslint --init'
Juan Jose Vega
David a día de hoy te funciona? esta parte no me funciona :( npx license mit > LICENSE
David Behar
Creo que esa parte ya no funciona, creo que si lo corres sólo con npx licence te coloca la licencia mit por defecto.
Carlos Enrique Ramírez Flores
Genial, ahora entiendo porque aman tanto a GraphQL
siguiendo el ejemplo de la documentación!
var { graphql, buildSchema } = require('graphql'); var schema = buildSchema(` type Query { hello: String } `); var root = { hello: () => 'Hello world!' }; graphql(schema, '{ hello }', root).then((response) => { console.log(response); });
César David Ramírez Dimaté
Excelente aporte, prefiero que aparezca esto que un null jajaja.
Aaron Paredes Cabrera
Usuario anónimo
Userusa la version de graphql que tiene el curso es la 14.2.1
Usuario anónimo
Usera mi tampoco me funciono, pero cambien la version a la del curso y si funciona, debe por la version que hay ahora 16.0.1. ha cambiado 2 versiones mayores.
Alberto Ramírez Caballero
Versión powershell del comando para los que utilizamos windows:
npx license mit > LICENSE; npx gitignore node; git init; npm init -y
Luis Eduardo Rodríguez Ramírez
Este sería el "Hola Mundo" para la versión 16.6.0 de GraphQL
'use strict' const { graphql, buildSchema } = require('graphql'); // Definiendo el esquema const schema = buildSchema(` type Query { hello: String } `) const rootValue = { hello: () => "Hello From GraphQL"}; const source = "{ hello }" // Ejecutar el query hello graphql({schema, source, rootValue}) .then(response => { console.log(response) }) .catch(error => console.log(error.message))
Obsérvese que se añade el parámetro rootValue y que los parámetros dentro de la función graphql están entre corchetes
Augusto Helard Flores Copa
Comparto, de que el curso se encuentra desactualizado, y hay varios cursos en ese estado, para que estos cursos se mantengan vigentes, sugiero que agreguen un documento adicional, para que podamos instalar las dependencias en las versiones necesarias para seguir el curso. ya que para hacer funcionar el código tenemos que buscar, lo cual no esta mal, pero para los que queremos ahorrar tiempo esa documentación nos quedaría muy bien.
David Gallego
Empieza un poco confuso, espero que sea como el profe dice y tenerle confianza de que se irán despejando las dudas en los próximos cursos.
Hector Caballero
¿Cómo se hace para que al lado del require diga el peso en Kb?.
David Perez
Hola Tesla, eso se logra gracias a una extension de VScode
Denner Antonio Portuguez Villalobos
Hola! Con Node en la versión 16.x tuve que hacerlo de esta manera:
'use strict' const { graphql, buildSchema, GraphQLObjectType, GraphQLSchema, GraphQLString } = require('graphql'); var schema = new GraphQLSchema({ query: new GraphQLObjectType({ name: 'RootQueryType', fields: { hello: { type: GraphQLString, resolve(){ return 'world'; } } } }) }) var source = '{ hello }'; graphql({ schema, source }).then((result) => { // Prints // { // data: { hello: "world" } // } console.log(result); });
Samir Jimenez Vivas
Les paso el código porque veo que nadie más lo ha hecho:
'use strict' const {graphql, buildSchema} = require('graphql') const schema = buildSchema(` type Query { hello: String } `) graphql(schema, '{ hello }').then((data) => { console.log(data) })
Edgar Gomez Alvarado
Demoras al cargar este vídeo
Ernesto Vizcaíno Alvarado
Intenta cambiar de servidor
Diego Fagundez
Hola, me da el siguiente error en mac. (node:50645) UnhandledPromiseRejectionWarning: Error: Expected undefined to be a GraphQL schema. Ayuda
Diego Fernando Caviedes Camaho
Esto sucede porque debemos pasarselo como objecto
'use strict' const { graphql, buildSchema } = require('graphql') // definiendo el esquema const schema = buildSchema(` type Query { hello: String } `) graphql({ schema: schema, source: '{ hello }'}) .then((data) => { console.log(data) })
Maria Paola Ramos Gutierrez
Para los que no les funcione con la version actual de graphQL. Usen este comando en su terminal , para que les instale la versión con la que se está trabajando en el curso.
$ npm i graphql@14.2.1
José Antonio Torres
Los tips de variable son: String, Integer, float, boolean.
Edwin Mauricio
He notado que la definición del esquema se hace con la versión 14, en la que le pasas un SDL.
A partir de la versión 16, o por lo menos en la que vamos actualmente (Por si alguien le da a npm install graphql instalará la última versión), el ejemplo ya no sirve porque el esquema se define de otra manera.
<code> const { graphql, GraphQLSchema, GraphQLObjectType, GraphQLString } = require('graphql'); const schema = new GraphQLSchema({ query: new GraphQLObjectType({ name: 'Query', fields: () => ({ hello: { type: GraphQLString, resolve: () => 'Hello world!' } }) }) }); graphql(schema, '{ hello }').then((response) => { console.log(response); });
Aaron Paredes Cabrera
wveimar mamian
el curso ya esta desactualizado ya me a pasado con muchos cursos de platzi
Si tienes el siguiente error
Error: Expected undefined to be a GraphQL schema.
La solución es
Pasa los argumentos com un objeto
graphql({ schema: schema, source: '{ hello }'}) .then((data) => { console.log(data); }) .catch(e => { console.log(e); });
Tengo este error:
$ node index.js Error: Expected undefined to be a GraphQL schema. at assertSchema (D:\PLATZI\BSE DE DATOS\CURSO BASICO DE GRAPHQL\PROYECTO - PRACTICA\platzi-dir\node_modules\graphql\type\schema.js:35:11) at validateSchema (D:\PLATZI\BSE DE DATOS\CURSO BASICO DE GRAPHQL\PROYECTO - PRACTICA\platzi-dir\node_modules\graphql\type\validate.js:34:28) at graphqlImpl (D:\PLATZI\BSE DE DATOS\CURSO BASICO DE GRAPHQL\PROYECTO - PRACTICA\platzi-dir\node_modules\graphql\graphql.js:52:64) at D:\PLATZI\BSE DE DATOS\CURSO BASICO DE GRAPHQL\PROYECTO - PRACTICA\platzi-dir\node_modules\graphql\graphql.js:21:43 at new Promise (<anonymous>) at graphql (D:\PLATZI\BSE DE DATOS\CURSO BASICO DE GRAPHQL\PROYECTO - PRACTICA\platzi-dir\node_modules\graphql\graphql.js:21:10) at Object.<anonymous> (D:\PLATZI\BSE DE DATOS\CURSO BASICO DE GRAPHQL\PROYECTO - PRACTICA\platzi-dir\index.js:24:1) at Module._compile (internal/modules/cjs/loader.js:1085:14) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10) at Module.load (internal/modules/cjs/loader.js:950:32)
No me funciona ni como lo hizo el profe ni como esto :(
"use strict"; const { graphql, GraphQLSchema, GraphQLObjectType, GraphQLString, } = require("graphql"); //Definiendo el esquema inicial const schema = new GraphQLSchema({ query: new GraphQLObjectType({ name: "Query", fields: () => ({ hello: { type: GraphQLString, resolve: () => "Hello world!", }, }), }), }); //Ejecutar el query hello graphql(schema, "{ hello }").then((data) => { console.log(data); });