Javascript VSCode如何调试es6 mocha单元测试和jsx文件
我设法达到了我的断点,但我有几个问题Javascript VSCode如何调试es6 mocha单元测试和jsx文件,javascript,reactjs,mocha.js,visual-studio-code,Javascript,Reactjs,Mocha.js,Visual Studio Code,我设法达到了我的断点,但我有几个问题 代码在es5中,无法调试 它只使用.js命中断点。我需要它来处理.jsx文件 Mocha.opts似乎根本不适用于此。我尝试过添加--编译器jsx:babel register,并将.js重命名为.jsx,断点不再被击中 摩卡咖啡选项似乎完全停止了它的工作: --require babel-register --require test/util/dom.js --require expect --compilers jsx:babel-register
- 代码在es5中,无法调试
- 它只使用.js命中断点。我需要它来处理.jsx文件
- Mocha.opts似乎根本不适用于此。我尝试过添加
,并将.js重命名为.jsx,断点不再被击中--编译器jsx:babel register
--require babel-register
--require test/util/dom.js
--require expect
--compilers jsx:babel-register
Launch.json
{
"version": "0.2.0",
"configurations": [
{
"request": "launch",
"name": "Debug Mocha Test",
"type": "node",
"program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
"args": [
"test/**/*.spec.js", //I need to get this working with .jsx files
"--require", "babel-register"
],
"cwd": "${workspaceRoot}",
"runtimeExecutable": null,
"env": { }
}
]
}
{
"version": "0.2.0",
"configurations": [
{
"request": "launch",
"name": "Debug Mocha Test",
"type": "node2",
"program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
"args": [
"test/**/*.spec.jsx",
"--colors", "--no-timeouts"
],
"cwd": "${workspaceRoot}",
"runtimeExecutable": null,
"env": { }
}
]
}
原来这是节点调试器的一个bug。我通过更改以下内容修复了所有问题:
“类型”:“节点”
到“类型”:“节点2”
Launch.json
{
"version": "0.2.0",
"configurations": [
{
"request": "launch",
"name": "Debug Mocha Test",
"type": "node",
"program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
"args": [
"test/**/*.spec.js", //I need to get this working with .jsx files
"--require", "babel-register"
],
"cwd": "${workspaceRoot}",
"runtimeExecutable": null,
"env": { }
}
]
}
{
"version": "0.2.0",
"configurations": [
{
"request": "launch",
"name": "Debug Mocha Test",
"type": "node2",
"program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
"args": [
"test/**/*.spec.jsx",
"--colors", "--no-timeouts"
],
"cwd": "${workspaceRoot}",
"runtimeExecutable": null,
"env": { }
}
]
}
摩卡咖啡选择:
--require babel-register
--require test/util/dom.js
--require expect
--compilers jsx:babel-register
答案取自
您还需要根应用程序中带有“retainLines”:true的.babelrc文件。下面是我的.babelrc文件,例如:
{
"presets": [
"es2015",
"stage-2",
"react"
],
"plugins": [
"transform-es2015-modules-umd"
],
"retainLines": true
}
如果您得到了错误的选项--inspect=…
,请尝试安装较新版本的节点。对于当前版本的vscode,您可以使用“type”:“node”,然后添加“protocol”:“inspector”。但是这个答案让我很兴奋——谢谢“retainLines”:true
是帮助我的一条信息