You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

启动GraphQL服务器时遭遇Unexpected token {语法错误求助

解决Node.js启动GraphQL服务器时的SyntaxError: Unexpected token {错误

这个问题很明确——你代码里用的ES6对象解构语法,你的Node.js版本不支持!

看报错行var { buildSchema } = require("graphql");,这种把模块导出的属性直接解构赋值的写法是ES6(ECMAScript 2015)才有的特性,而你的Node.js版本大概率是v6.0之前的老版本,默认不支持这个语法,所以才会抛出SyntaxError。

给你几个可行的解决办法:

  • 最推荐:升级Node.js版本
    直接把Node.js升级到支持ES6特性的LTS版本(比如v14及以上,现在主流是v18、v20),升级后不需要改任何代码,重新运行node server.js就能正常启动服务器。这是一劳永逸的办法,老版本Node.js不仅缺新特性,还可能有安全漏洞。

  • 临时方案:改成ES5兼容写法
    如果暂时没法升级,把解构代码改成ES5支持的普通赋值写法就行:

    var graphql = require("graphql");
    var buildSchema = graphql.buildSchema;
    

    这样替换后,老版本Node.js就能正常解析你的代码了。

  • 不推荐的复杂方案:用Babel转译
    如果你非要用老Node.js版本,也可以通过Babel把ES6代码转译成ES5,但需要额外配置依赖和转译脚本,步骤繁琐,不如直接升级版本省心,这里就不展开了。

改完之后再试一次node server.js,应该就能顺利启动你的GraphQL服务器了。

内容的提问来源于stack exchange,提问作者bimoan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:16:02