使用WebPack和Feathers进行节点debugging

我join了使用Node,Webpack,TypeScript和Express / Feathers构build产品的团队。 其他的开发者知道他们在做什么,但是我到目前为止只在客户端上使用过JavaScript,并且在我的带子上只有几个小时的节点。 试图找出如何去debugging。 具体来说,我的第一个任务是修复一些失败的APItesting。

testing执行:

$npm run testserver 

我的软件包有:

 "scripts": { .... "testserver": "webpack --config webpack.servertest.config.js && NODE_ENV=test mocha dist/serverTests.js", .... }, 

例行程序是将打字稿编译成ES6,然后将文字编辑为与节点兼容的ES5。

我试过了:

 $node-debug dist/serverTests.js 

运行此节点debugging调用时,结果与npm不一样。 请分享你的经验。

谢谢

根据您的设置,我可以推荐您尝试Visual Studio代码,基于Electron的OS文本编辑器/ ide以及Atom编辑器。

要解决您的问题,您可以使用两个vscodefunction:

  • debugging – 在文档上链接如何在vscode中进行debugging
  • 任务 – 任务pipe理,例如查看以一些参数启动的webpackconfiguration等等

首先,让我们尝试一下在你的情况下可能适合的简单解决scheme(任务文件不需要):

添加到testserver的结尾--debug-brk它用于在node.js,brk中进行debugging – 它只是在第一行停止执行。

 "testserver": "webpack --config webpack.servertest.config.js && NODE_ENV=test mocha dist/serverTests.js --debug-brk", 

现在当你npm run testserver ,mocha启动debugging模式,并在控制台,你会看到像Debugger listen on port 5858

第二步,在vscode中,您需要添加一些道具(端口5858)到launch.json – 阅读上文提到的文档中的debugging部分:

 { "version": "0.1.0", "configurations": [ { "name": "Attach", // or eg "Mocha Debug" "type": "node", "request": "attach", "port": 5858 } ] } 

就是这样。 在vscode中进入debugging模式,将断点放在testing文件中,在下拉菜单中select“附加”或“摩卡debugging”,然后开始debugging(F5)

ps另外VS代码有一stream的TypeScript支持,可能对您有所帮助。