【发布时间】:2019-06-17 15:16:34
【问题描述】:
我正在尝试构建一个电子应用程序,我正在使用electron-unhandled 在其中,但是在运行我的应用程序时会抛出
App threw an error during load C:\CLC\VIDA\Web\Comun\ypalma\todoapp\node_modules\electron-unhandled\index.js:74
...options,
^^^ SyntaxError: Unexpected token ...
at Object.exports.runInThisContext (vm.js:76:16)
at Module._compile (module.js:528:28)
at Object.Module._extensions..js (module.js:565:10)
at Module.load (module.js:473:32)
at tryModuleLoad (module.js:432:12)
at Function.Module._load (module.js:424:3)
at Module.require (module.js:483:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (C:\CLC\VIDA\Web\Comun\ypalma\todoapp\index.js:3:19)
at Module._compile (module.js:556:32)
引用的行有这个代码
options = {
...options,
...inputOptions
};
现在,奇怪的是我正在使用支持扩展运算符的节点 v11.5.0,所以我坚持这一点。所以,问题是,我怎样才能在不编译到 es5 的情况下完成这项工作?我的意思是,节点应该处理这种语法对吗?
如果有帮助,我的电子版本是 v5.0.1,我正在使用 Windows 10。
【问题讨论】:
-
Node v11(甚至v11.0.0)支持
...的所有含义。所以如果你真的在使用 Node v11 并且它给你一个指向...的语法错误,那么...就是一个语法错误。不过,听起来您可能不会使用 Node v11。查看您的站外链接的第 74 行(问题不应依赖于站外链接),这是有效的财产传播(ES2018+)。 -
@T.J.Crowder 我也是这么想的,但是在那个 github 页面上的源代码中,我觉得还可以。同样有趣的是,这是该模块中的第一个扩展语法。
-
@Pointy - 是的,我刚刚编辑了那条评论。如果他们在该代码中遇到该错误,则说明他们没有使用 Node v11。
-
我使用的是节点 11,我没有版本管理器,所以这是我唯一安装的节点版本。我知道从 v8.x.x 开始支持扩展运算符,这就是为什么我认为它很奇怪
-
@T.J.Crowder 在运行时检查我的进程版本号后,我得到以下 v8 5.3.332.47;节点 6.5.0;电子 1.4.13。因此,由于某种原因,它在运行时运行的版本与我安装的完全不同。所以不知道发生了什么。
标签: javascript node.js electron