web-dev-qa-db-fra.com

GraphQLHTTP n'est pas une fonction

Voici ma simple application GraphQL Express

const express = require('express');
const graphqlHTTP = require('express-graphql');

const app = express();
app.use(
    '/graphql',
    graphqlHTTP({
      graphiql: true,
    })
  );

app.listen(4000, () => {
    console.log("listening for request!");
});

Je reçois les erreurs suivantes quand je l'exécute:

 graphqlHTTP({
    ^

TypeError: graphqlHTTP is not a function
    at Object.<anonymous> (D:\PersonalProjects\GraphQL\server\app.js:7:5)
    at Module._compile (internal/modules/cjs/loader.js:1138:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10)
    at Module.load (internal/modules/cjs/loader.js:986:32)
    at Function.Module._load (internal/modules/cjs/loader.js:879:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)  
    at internal/main/run_main_module.js:17:47

Comment puis-je le réparer? Merci d'avance!

29
Sachin Titus

Au début, vous avez besoin de destructures

const { graphqlHTTP } = require('express-graphql');

( En savoir plus

0
MD SHAYON

Simple Setup:

N'utilisez pas votre propre paramètre utilisez strictement {graphqlhttp} !!!!

Il suffit de monter Express-Graphql comme un gestionnaire d'itinéraire:

const express = require('express');
const { graphqlHTTP } = require('express-graphql');
 
const app = express();
 
app.use(
  '/graphql',
  graphqlHTTP({
    schema: MyGraphQLSchema,
    graphiql: true,
  }),
);
 
app.listen(4000, () => {
    console.log('Server is running on port 4K')
);
0
Larry DaBig Meech