2017-03-12 7 views
1

GraphQLサーバーを実行しようとしています。私はGraphQLBabelを使用したTranspiled GraphQLで「クラスを関数として呼び出せません」というエラーが発生しています

私はES5にバベルでそれtranspileだ
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 

でシンプルなスキーマを持っていますが、私は特急

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 
に取得しています

私はいくつかの入力エラーがある場合、私はそれを再度チェックしますが、私はenythingを見つけませんでした。代わりにtype: GraphQLList(user)使用type: new GraphQLList(user)

GraphQLList

答えて

2

classであり、あなたはそれがインスタンスと使用だ作成する必要がありますが、機能としてそれを呼んでいます。

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}) 
      } 
      } 
     } 
    } 
}) 
+0

ええ、ありがとうございました。何時間も見つけられませんでした。 :) – Enerikes

関連する問題