gpt4 book ai didi

node.js - 解构在 OSX 上有效,但在 Linux 上失败

转载 作者:太空宇宙 更新时间:2023-11-03 21:58:10 25 4
gpt4 key购买 nike

我在我创建并包含的一些 Mocha 测试中使用了一些 ES6 功能集,其中包括一些解构语句。这是一个例子:

const {logger, saveProxy, resolved, msg} = helpers;

我大部分时间都在 OSX 上运行这些测试脚本,它的工作就像一个魅力。但由于 nodejs 服务使用了一些仅适用于 Unix 的二进制文件,因此我也需要在 Linux 中进行测试。没问题,我使用 Vagrant VM 切换到 Linux,并指向完全相同的测试脚本,并得到以下错误堆栈:

const {logger, saveProxy, resolved, msg} = helpers; 
^

SyntaxError: Unexpected token {
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:374:25)
at Object.Module._extensions..js (module.js:405:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at /usr/lib/node_modules/mocha/lib/mocha.js:216:27
at Array.forEach (native)
at Mocha.loadFiles (/usr/lib/node_modules/mocha/lib/mocha.js:213:14)
at Mocha.run (/usr/lib/node_modules/mocha/lib/mocha.js:453:10)
at Object.<anonymous> (/usr/lib/node_modules/mocha/bin/_mocha:393:18)
at Module._compile (module.js:398:26)
at Object.Module._extensions..js (module.js:405:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Function.Module.runMain (module.js:430:10)
at startup (node.js:141:18)
at node.js:1003:3

在 Linux 和 OSX 中,我运行的是 Node 版本 5.4.0,因此解构不应该成为问题。我束手无策,有人可以帮忙吗?

最佳答案

node.js 中的解构仍在进行中,可以使用 --harmony_destructuring 标志启用。

您在这两个环境中运行脚本的方式可能不同。您将哪些标志传递给 Node 运行时?

您可以通过运行以下命令查看支持的 ES2015 功能列表:

node --v8-options | grep harmony

您将在其中看到哪些是“正在进行中”,这意味着它们默认处于禁用状态。

关于node.js - 解构在 OSX 上有效,但在 Linux 上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34747898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com