TypeDefs indexTypes.js
const ruta = require('ruta'); const {loadFilesSync} = require('@graphql-tools/load-files'); const { makeExecutableSchema } = require('@graphql-tools/schema'); const {mergeTypeDefs} = require('@graphql-tools/merge');
const typeArray = loadFilesSync(path.join(__dirname, './'), { recursive: true, extensions: ['.js'] }); const typeDefs = mergeTypeDefs(typesArray, {todo: verdadero}); const typedefs = makeExecutableSchema({ typeDefs});
módulo.exportaciones = {typedefs};
Resolutores indexResolvers.js
const ruta = require('ruta'); const { loadFilesSync } = require('@graphql-tools/load-files'); const { mergeResolvers } = require('@graphql-tools/merge');
const resolversArray = loadFilesSync(path.join(__dirname, './'), {
recursivo: verdadero, extensiones: ['.js'], });const resolutores = mergeResolvers(resolversArray);
módulo.exportaciones = { resolvers };
índice.js
const {ApolloServer} = require('apollo-server'); const expreso = require('expreso'); require('dotenv').config(); require('./utils/db'); const puerto = proceso.env.PORT; const {typedefs} = require('./graphql/schema/indexTypes'); const {resolvers} = require('./graphql/resolvers/indexResolvers');
const aplicación = express();
const server = new ApolloServer({ typedefs, resolvers, });
server.listen(puerto) .then(({ url }) => { console.log(
🚀 Server is ready at ${url}); }) .catch((e) => { console.log('⚡ No se puede lanzar servidor:', e.message); });
Mensaje de error Error: typeDefs debe contener solo cadenas, documentos, esquemas o funciones, objeto obtenido en visitTypeSources