我目前正在使用一个程序包来运行名为easy-sauce
的跨浏览器javascript测试。简而言之,我的package.json
文件调用test
命令:
{
"scripts": {
"test": "easy-sauce"
}
}
当我使用Node 6环境并运行npm test
时,一切都很顺利。但是,我使用它的项目仍然需要Node 5.6.0。当我在此环境中运行npm test
时,我看到以下错误:
/data/projects/easytest/node_modules/easy-sauce/lib/cli.js:114
function formatResult(result = {}) {
^
SyntaxError: Unexpected token =
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:387:25)
at Object.Module._extensions..js (module.js:422:10)
at Module.load (module.js:357:32)
at Function.Module._load (module.js:314:12)
at Module.require (module.js:367:17)
at require (internal/module.js:16:19)
at Object.<anonymous> (/data/projects/easytest/node_modules/easy-sauce/bin/easy-sauce:6:13)
at Module._compile (module.js:413:34)
at Object.Module._extensions..js (module.js:422:10)
有没有办法让它在Node 5.6.0环境中运行?
答案 0 :(得分:1)
此错误与easy-sauce包无关,它与您的节点版本有关。
根据node.green,版本6.2.2中添加了默认参数
不幸的是,您无法在节点5中运行代码。默认参数在节点6.2中,因此出错。
答案 1 :(得分:1)
选项1 升级您的node / npm版本。根据部署环境,这并不总是可行的。
选项2 您需要使用转换器(例如Babel)将ES6代码转换为ES5并引用构建的脚本。这种解决方案是您始终有能力做到的。
选项3
fork / update easy-sauce
包含一个转换器来构建ES5版本(在dist
文件夹中是一个公共目的地)。包的package.json可以定向到这个位置。