Nodejs vscode 的 js-debug 报错, SyntaxError: Unexpected token ... 各位大侠给看看什么原因。

Nodejs vscode 的 js-debug 报错, SyntaxError: Unexpected token … 各位大侠给看看什么原因。

vscode 版本

Version: 1.47.0 (user setup)
Commit: d5e9aa0227e057a60c82568bf31c04730dc15dcd
Date: 2020-07-09T08:02:06.629Z
Electron: 7.3.2
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Windows_NT x64 10.0.18363

js-debug 版本

1.46.2

报错信息:

c:\Users\mcz\.vscode\extensions\ms-vscode.js-debug-1.46.2\src\bootloader.bundle.js:9027
        ...this._options.zlibInflateOptions,
        ^^^

SyntaxError: Unexpected token … at createScript (vm.js:74:10) at Object.runInThisContext (vm.js:116:10) at Module._compile (module.js:533:28) at Object.Module._extensions…js (module.js:580:10) at Module.load (module.js:503:32) at tryModuleLoad (module.js:466:12) at Function.Module._load (module.js:458:3) at Module.require (module.js:513:17) at Function.Module._preloadModules (module.js:665:12) at preloadModules (bootstrap_node.js:441:38) Process exited with code 1


1 回复

遇到 SyntaxError: Unexpected token ... 这个错误,通常是因为代码中使用了展开运算符(spread operator,即 ...),但是运行环境或者语法解析不支持这种语法。展开运算符在 ES6(ECMAScript 2015)中被引入,用于数组或对象的展开。

首先,确保你的 Node.js 版本支持 ES6。Node.js 从 v6.0.0 开始支持展开运算符,但完整支持和优化通常在更高版本(如 v8.x 或更高)中更好。

  1. 检查 Node.js 版本: 在 VSCode 的终端中运行 node -v 查看当前 Node.js 版本。

  2. 示例代码: 如果你的代码类似于以下形式,并且 Node.js 版本支持 ES6,理论上不应该报错。

    const arr1 = [1, 2, 3];
    const arr2 = [...arr1, 4, 5];
    console.log(arr2);  // 输出 [1, 2, 3, 4, 5]
    
  3. 检查配置文件: 确保你的 VSCode 使用的 launch.json 配置正确指向了正确的 Node.js 解释器。

  4. 语法错误: 如果展开运算符使用在不支持的上下文中(如函数参数在非箭头函数中,或在对象字面量之外等),也会导致此错误。

如果确认以上无误但问题依旧,尝试简化代码到最小出错示例,并在其他环境中运行以排除特定环境配置问题。如果问题依旧,请检查是否有其他语法错误或配置错误。

回到顶部