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

Node.js中electron-rebuild模块出现Unexpected token ...语法错误求助

解决Node.js中"Unexpected token '...'"语法错误(涉及electron-rebuild)

这个SyntaxError: Unexpected token ...的语法坑我之前也碰到过,其实根源很明确:你当前运行的Node.js版本不支持ES6的扩展运算符(spread operator),具体出现在electron-rebuild包的odas_web-0.2-alpha/node_modules/electron-rebuild/lib/src/rebuild.js第81行——那行代码用...把Object.keys()返回的数组展开,逐个推入depKeys数组,但旧版Node.js没法识别这个语法。

为什么会出现这个问题?

Electron-rebuild的部分新版本默认使用了ES6语法,但你的Node.js环境版本过低(比如低于v6.0.0,更早的版本甚至连部分ES6特性都需要手动开启),导致解析...这个符号时直接报错。

给你几个可行的解决方案:

  • 方案1:升级Node.js到稳定版(最推荐)
    扩展运算符是ES6的核心特性,Node.js从v6.0.0开始就全面支持了。你可以按以下步骤操作:

    1. 先查看当前Node版本:node -v
    2. 用nvm(Node版本管理器)安装并切换到LTS稳定版:
      nvm install --lts
      nvm use --lts
      
      如果你没装nvm,直接去Node.js官网下载最新LTS版本安装也可以。升级后重新运行项目或electron-rebuild命令,这个语法错误应该就消失了。
  • 方案2:降级electron-rebuild到兼容旧Node的版本
    如果因为项目限制没法升级Node,你可以把electron-rebuild降级到一个还在用ES5语法的旧版本,比如v1.x系列的v1.11.0:

    npm uninstall electron-rebuild
    npm install electron-rebuild@1.11.0 --save-dev
    

    注意:降级前最好确认这个旧版本和你项目里的Electron版本兼容,避免出现新的问题。

  • 方案3:临时开启ES6兼容模式(不推荐)
    要是你必须用当前Node版本,可以尝试在运行命令时加上--harmony参数强制开启ES6特性支持:

    node --harmony your-start-script.js
    

    但这个方法不稳定,旧版本的--harmony对ES6特性的支持很零散,大概率会引发其他未知问题,所以只作为临时应急方案。

附你提供的完整报错栈:

SyntaxError: Unexpected token ...
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:374:25)
    at Object.Module._extensions..js (module.js:417:10)
    at Module.load (module.js:344:32)
    at Function.Module._load (module.js:301:12)
    at Module.require (modu...

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:17:03