javascript - expressGraphQL 不是函数

标签 javascript graphql graphql-js nodemon macos-big-sur

我正在使用本教程为我的项目学习 GraphQL:
https://www.youtube.com/watch?v=ZQL7tL2S0oQ&ab_channel=WebDevSimplified
我得到了错误:

TypeError: expressGraphQL is not a function
at Object.<anonymous>
我已经尝试过:
  • 此解决方案:graphqlHTTP is not a function - 程序在使用 {} 括号和没有它们时都会崩溃
  • 在多行后添加分号

  • 现在的代码如下所示:
    const express = require ('express')
    const { expressGraphQL } = require('express-graphql')
    const app = express();
    
    app.use('/graphql', expressGraphQL({
        graphiql: true,
    })
    )
    app.listen(5000., () => console.log('Server Running'))
    
    如果我注释掉这一部分:
    app.use('/graphql', expressGraphQL({
    graphiql: true,
    })
    )
    
    代码在有 {} 括号和没有它们的情况下都可以正常工作。

    最佳答案

    请用 graphqlHTTP 替换您的 expressGraphQL,因为它已被解构
    利用:

    const { graphqlHTTP } = require('express-graphql');
    
    或者
    const expressGraphQL = require('express-graphql').graphqlHTTP
    
    这是因为 express-graphql 模块中存在一个名为 graphqlHTTP 的方法,并且您使用模块中不存在的另一个方法名称进行解构
    我还注意到 app.listen 函数的 5000 之后有一个点。

    关于javascript - expressGraphQL 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65517979/

    相关文章:

    javascript - 类型 'number' 不可分配给类型 'GraphQLScalarType | undefined'

    ubuntu - 如何使用 prisma (graphql) 集群

    javascript - 带有两个参数的 GraphQL 查询

    graphql - 枚举可以在 GraphQL 中返回描述(字符串)吗?

    javascript - GraphQL错误: Right-hand side of 'instanceof' is not callable

    Javascript 添加日期问题

    javascript - 如何使用 jquery 动态更改 wordpress 网站中 div 的背景?

    javascript - React 的 CDN 脚本 src 中包含哪个 babel 文件?

    javascript - GraphQL.js - 时间戳标量类型?

    javascript - Angularjs - 从 html 选择中获取要显示的值