Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Express 带Babel的Transpile GraphQL是抛出错误”;无法将类作为函数调用";_Express_Graphql_Babeljs - Fatal编程技术网

Express 带Babel的Transpile GraphQL是抛出错误”;无法将类作为函数调用";

Express 带Babel的Transpile GraphQL是抛出错误”;无法将类作为函数调用";,express,graphql,babeljs,Express,Graphql,Babeljs,我正在尝试运行GraphQL服务器。我在GraphQL中有一个简单的模式 import { GraphQLObjectType, GraphQLInt, GraphQLString, GraphQLList, GraphQLSchema } from 'graphql' import db from './models' const user = new GraphQLObjectType({ name: "user", description: 'This rep

我正在尝试运行GraphQL服务器。我在GraphQL中有一个简单的模式

import {
  GraphQLObjectType,
  GraphQLInt,
  GraphQLString,
  GraphQLList,
  GraphQLSchema
} from 'graphql'
import db from './models'

const user = new GraphQLObjectType({
  name: "user",
  description: 'This represents a user',
  fields: () => {
    return {
        id: {
            type: GraphQLInt,
            resolve(user) {
                return user.id
            }
        },
        firstName: {
            type: GraphQLString,
            resole(user) {
                return user.firstName
            }
        },
        lastName: {
            type: GraphQLString,
            resole(user) {
                return user.lastName
            }
        },
        email: {
            type: GraphQLString,
            resole(user) {
                return user.email
            }
        },
        createdAt: {
            type: GraphQLString,
            resole(user) {
                return user.createdAt
            }
        },
        updatedAt: {
            type: GraphQLString,
            resole(user) => {
                return user.updatedAt
            }
        }
      }
     }
 })


 const Query = new GraphQLObjectType({
   name: 'Query',
   description: 'This is root Query',
   fields: () => {
      return {
        users: {
            type: GraphQLList(user),
            args: {
                id: {
                    type: GraphQLInt
                },
                email: {
                    type: GraphQLString
                }
            },
            resolve(root, args) {
                return db.user.findAll({where: args})
            }
          }
       }
    }
 })

 const Schema = new GraphQLSchema({
  query: Query
 })

 export default Schema
我用babel将它传输到ES5,但每次我尝试用express运行它时

import GraphHTTP from 'express-graphql'
import Schema from './schema'

app.use('/grapql', GraphHTTP({
  schema: Schema,
  pretty: true,
  graphiql: true
}))
我得到了这个错误

 \node_modules\graphql\type\definition.js:41
 function _classCallCheck(instance, Constructor) { if (!instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }                                                             
TypeError: Cannot call a class as a function

如果我有键入错误,但没有找到任何东西,我会反复检查。

而不是
type:graphqlsist(user)
使用
type:newgraphqlset(user)

graphqlist
是一个
,您必须创建它的实例并使用它,但您已将其作为函数调用

 const Query = new GraphQLObjectType({
   name: 'Query',
   description: 'This is root Query',
   fields: () => {
      return {
        users: {
            type: new GraphQLList(user),   
            args: {
                id: {
                    type: GraphQLInt
                },
                email: {
                    type: GraphQLString
                }
            },
            resolve(root, args) {
                return db.user.findAll({where: args})
            }
          }
       }
    }
 })

使用
type:graphqlist(用户)

graphqlist
是一个
,您必须创建它的实例并使用它,但您已将其作为函数调用

 const Query = new GraphQLObjectType({
   name: 'Query',
   description: 'This is root Query',
   fields: () => {
      return {
        users: {
            type: new GraphQLList(user),   
            args: {
                id: {
                    type: GraphQLInt
                },
                email: {
                    type: GraphQLString
                }
            },
            resolve(root, args) {
                return db.user.findAll({where: args})
            }
          }
       }
    }
 })