我加入了一个使用Node,Webpack,TypeScript和Express / Feathers构建产品的小组。其他开发人员知道他们在做什么,但我到目前为止只在客户端上使用过JavaScript,而且我只有几个小时的Node。试图弄清楚如何进行调试。具体来说,我的第一个任务是修复一些失败的API测试。
测试执行:
$npm run testserver
我的包裹有:
"scripts": {
....
"testserver": "webpack --config webpack.servertest.config.js && NODE_ENV=test mocha dist/serverTests.js",
....
},
例程是将打字稿编译成ES6,然后通过Babel转换为与Node兼容的ES5。
我尝试过:
$node-debug dist/serverTests.js
运行此节点调试调用时,结果与npm不同。请分享您的经验。
谢谢
答案 0 :(得分:1)
根据您的设置,我建议您尝试基于Electron和Atom编辑器的Visual Studio Code,OS文本编辑器/ ide。
要解决您的问题,您可以使用两个vscode功能:
首先,让我们尝试一下在您的情况下可能适用的简单解决方案(任务文件不需要):
添加到testserver "testserver": "webpack --config webpack.servertest.config.js && NODE_ENV=test mocha dist/serverTests.js --debug-brk",
的末尾,它用于node.js,brk中的调试 - 它只是在第一行停止执行。
npm run testserver
现在,当您Debugger listen on port 5858
时,mocha以调试模式启动,在控制台中,您会看到类似{
"version": "0.1.0",
"configurations": [
{
"name": "Attach", // or e.g. "Mocha Debug"
"type": "node",
"request": "attach",
"port": 5858
}
]
}
第二步,在vscode中你需要添加一些道具(端口5858)到 launch.json - 阅读部分我在上面提到的文档调试:
original -> result
"5XqaLB" -> "5anLB"
"XqaLB" -> "anLB"
"qaLB" -> "qaLB"
"5Xq" -> "5Xq"
就是这样。在vscode中进入调试模式,将断点放在测试文件中,在下拉菜单中选择'Attach'或'Mocha Debug'并开始调试(F5)
P.S。此外,VS代码还具有一流的TypeScript支持,可能对您有所帮助。