javascript – Mocha忽略 – 在mocha.opts中的harmony选项?

在我的测试目录中,我有一个文件mocha.opts包含以下内容
--harmony
--recursive
--growl
--reporter spec
--require should

当我运行摩卡时,我会收到以下错误

/project/server/utilities/encryption.js:3
const
^^^^^
SyntaxError: Use of const in strict mode.

这当然是因为我使用const需要ES6 Harmony.当我运行摩卡 – 和谐时,我的测试执行得很好.而mocha.opts文件中的其他条目按预期工作.

mocha.opts文件是否因为某些原因忽略了 – 和谐的参数?还是我做错了?摩卡文件没有详细说明,我还没有找到这里或其他地方的答案.

解决方法

asker问:

When I run mocha --harmony,my tests execute just fine. […]

Does the mocha.opts file ignore the --harmony argument for some reason?

是的,mocha.opts忽略了 – 和谐论点. –harmony选项不是Mocha选项,而是Node.js选项.这是一个在开始执行之前必须传递给Node.js的选项.但是,在Node.js启动之后,读取mocha.opts,所以即使Mocha能够理解该选项,也不能做任何事情.

但为什么它在命令行上工作?不应该是这样的情况,当我运行摩卡 – 和谐时,摩卡必须首先开始解析 – 和谐选项?不,因为摩西是启动“真正”摩卡车的脚本. shell脚本检测到 – 和谐,并确保它在启动“真实”摩卡时传递到Node.js.

相关文章

什么是深拷贝与浅拷贝?深拷贝与浅拷贝是js中处理对象或数据...
前言 今天复习了一些前端算法题,写到一两道比较有意思的题:...
最近在看回JavaScript的面试题,this 指向问题是入坑前端必须...
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面