GraphQLError:语法错误:无法解析意外字符“;” [关闭]

Posted

技术标签:

【中文标题】GraphQLError:语法错误:无法解析意外字符“;” [关闭]【英文标题】:GraphQLError: Syntax Error: Cannot parse the unexpected character ";" [closed] 【发布时间】:2018-11-23 23:18:05 【问题描述】:

我是 GraphQL 的初学者。在设置服务器、连接到 mongodb 数据库并进行突变时,运行node index.js 后出现以下错误。

GraphQLError:语法错误:无法解析意外字符“;”。

这是我的 index.js....

const  GraphQLServer  = require('graphql-yoga');
const mongoose = require('mongoose');

mongoose.connect('mongodb://localhost/todo');

const Todo = mongoose.model('Todo',
    text: String,
    complete: Boolean
);

const typeDefs = `
  type Query 
    hello(name: String): String!
  

  type Todo
    id: ID!
    text: String!
    complete: Boolean!
  

  type Mutation
    createTodo(text: String!): Todo;
  
;

const resolvers = 
  Query: 
    hello: (_,  name ) => `Hello $name || 'World'`,
  ,

  Mutation: 
    createTodo: async (_,  text ) => 
        const todo = new Todo( text, complete: false );
        await todo.save();
        return todo;
    
  
;

const server = new GraphQLServer( typeDefs, resolvers );
mongoose.connection.once('open', function() 
    server.start(() => console.log('Server is running on localhost:4000'))
  );

如何解决这个错误!?

【问题讨论】:

去掉这一行末尾的分号:createTodo(text: String!): Todo 【参考方案1】:

删除分号并添加结束模板字符串`

const typeDefs = `
  type Query 
    hello(name: String): String!
  

  type Todo
    id: ID!
    text: String!
    complete: Boolean!
  

  type Mutation
    createTodo(text: String!): Todo;
  

; // <= remove
` // <= add

【讨论】:

以上是关于GraphQLError:语法错误:无法解析意外字符“;” [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

GraphQLError [Object]:语法错误:无法解析意外字符“;”

GraphQLError:语法错误:无法解析意外字符“。”

尝试启动 GraphQL Yoga Server 时出现语法错误

Gatsby 站点地图:GraphQLError:语法错误:预期名称,找到 <EOF>

无法解析模块 ../../../../src/graphql/error/GraphQLError

GraphQLError:语法错误:预期名称,找到 [