【问题标题】:How to debug ES6 NodeJS with WebStorm?如何使用 WebStorm 调试 ES6 NodeJS?
【发布时间】:2019-11-11 22:04:05
【问题描述】:
我正在尝试调试 nodejs ES6 服务器,即使我使用的是 babel,但我收到了以下警告:
(node:17736) [DEP0062] DeprecationWarning: `node --debug` and `node --debug-brk` are invalid.
Please use `node --inspect` or `node --inspect-brk` instead.
Process finished with exit code 9
有人可以帮我解决这个问题吗?我看到了很多关于这个的问题,但它们看起来都很旧,并且不适用于最新版本的 nodejs。
这是我的配置:
【问题讨论】:
标签:
node.js
babeljs
webstorm
【解决方案1】:
似乎babel-node 使用的Node.js 版本不接受--debug-brk 选项,并且Webstorm 无法检测到Node.js 版本是什么已使用(通常它会检查 Node.js 的版本选择为 Node 解释器: 并在运行时使用适当的选项)。
请选择 Node.js 可执行文件而不是那里的 babel-node 并在运行配置中使用 --require @babel/register 作为 Node 参数: 以获取即时编译的 ES6 代码-飞:
当然,你需要确保安装了相应的模块并相应地设置了.babelrc
package.json:
"dependencies": {
"@babel/cli": "^7.2.3",
"@babel/core": "^7.4.0",
"@babel/preset-env": "^7.4.2",
"@babel/register": "^7.4.0",
...
}
.babelrc:
{
"presets": [
[
"@babel/preset-env"
]
]
}
【解决方案2】:
什么对我有用:
使用 nodemon
添加了运行此脚本的运行/调试 NPM 配置"dev": "nodemon"
【解决方案3】:
由于 Lena 的答案不适用于异步代码,您需要安装 @babel/polyfill 并在 webstorm 调试配置中要求它与 babel-register 一起使用
--require @babel/register --require @babel/polyfill