node.js - vscode 调试 ES6 应用

标签 node.js debugging ecmascript-6 babeljs visual-studio-code

我有 VSCode 0.5.0。我将 compilerOptions 标志设置为“ES6”,编辑器开始将我的 ES6 代码识别为正确。 我已经安装了 babel。 我的 Mocha 测试使用 babel 编译器并且我的测试通过了。 当我使用 babel-node 启动它时,我的应用程序从命令行运行没有问题。 当我从 VSCode 中调试应用程序时,它在没有 ES6 支持的情况下启动,并且应用程序因 ES6 语法问题而失败。 是否有我错过的调试设置?

最佳答案

下面是如何让 VSCode 调试器与 Babel 6+ 一起工作:

先在本地安装依赖:

$ npm install babel-cli --save
$ npm install babel-preset-es2015 --save

然后运行 ​​babel-node:

$ node_modules/babel-cli/bin/babel-node.js --inspect --presets es2015 -- server.js --inspect

默认情况下,调试器将监听端口 5858,因此请确保端口与 launch.json 中的 Attach 配置匹配:

{
  "name": "Attach",
  "type": "node",
  "request": "attach",
  "port": 5858
}

现在在 VSCode 中附加调试器:

  • 确保调试配置设置为 Attach 而不是 Launch
  • 使用 F5 运行

Nodemon

虽然不是必需的,但如果您还想使用 nodemon 在不重新启动服务器的情况下获取代码更改,您可以这样做:

确保 nodemon 已安装:

$ npm install nodemon --save-dev

运行服务器

$ node_modules/.bin/nodemon node_modules/babel-cli/bin/babel-node.js --inspect --presets es2015 -- server.js --inspect

最后,如上所示附加调试器。

关于node.js - vscode 调试 ES6 应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31711286/

相关文章:

javascript - Node Js Firestore 使用空格访问数据库值

javascript - Forge Autodesk 模型的变换矩阵

在 Erlang 中调试符号

node.js - 如何获取转换后的图像的缓冲区值

node.js - swagger-express-mw 中的错误处理

angularjs - Angular、Redux、ES6、单元测试 Controller

javascript - 在 Javascript 中使用带有数字的 charAt

javascript - Babel 需要钩子(Hook)

vb.net - VB - 使用 StreamWriter 写入文件

visual-studio - Visual Studio 中有什么方法可以在抛出特定异常时不中断?