我设置了ES6 Babel项目,一切正常。我使用Mocha运行我的测试。现在我希望能够在运行测试时运行调试器。这是我到目前为止所做的:
npm install -g node-inspector
npm install -g babel-register
创建了一个名为babel-hook.js的文件
require('babel/register')({
stage: 1,
sourceMap: 'inline',
});
现在我在一个控制台中运行:
node-inspector
打开Chrome
然后从项目根目录运行:
mocha --debug-brk test/my-test-file.js
然后我在测试中放了一个断点:
当我点击F8时,我收到以下错误:
/Users/h/Documents/code/js/test/my-test-file.js:1
(function (exports, require, module, __filename, __dirname) { import { assert } from 'chai';
^^^^^^
SyntaxError: Unexpected token import
...
现在我错过了什么让这个工作?
答案 0 :(得分:1)
你可能想要mocha的--compilers
标志,它指定如何编译输入文件。例如,https://babeljs.io/docs/setup/#installation给出了示例
mocha --compilers js:babel-register
另外,尝试在没有--debug-brk
的情况下运行测试,以帮助确定断点是否是问题,或者是否一般是mocha(此处描述的解决方案适用于后者)。
最后,如果这不起作用,您可能会有更好的结果非全局安装babel-register
(没有-g
标记到npm install
),如文档中所示:{{ 3}}