node.js - 调试 NodeJS + ES6 应用程序 (Webstorm)

标签 node.js webstorm ecmascript-6 babeljs

我想在客户端和服务器端都使用 ES6。当然,我可以从 babel-node src/app.js 之类的终端启动我的 NodeJS 服务器,但它无法调试。

另一方面,Webstorm 9 声称它支持 ES6,但是当我尝试启动默认 Node 配置时,它提示 a => a + 1 函数。

问题:如何在 Webstorm 9 中启动 NodeJS + ES6 应用程序?

附:我使用 Node 0.12.* 版本 附言我也试过this但这对我也不起作用

最佳答案

我终于在 WebStorm 中使用 polyfill 调试了转译代码,WebStorm 与 Babel 的协同工作真是令人印象深刻。

按照说明在 WebStorm 中配置 FileWatcher 非常容易,它会自动转换您的 es6 代码: http://babeljs.io/docs/setup/#webstorm

让我绊倒的步骤是让 Node 找到 polyfill 文件,所以我可以使用 es6 迭代器和生成器。 Babel 网站说要在全局范围内安装 Babel 和 polyfill:

npm install -g babel-es6-polyfill

但是当我在我的 Node 程序中添加时:

require("babel-es6-polyfill");

Node 引发了关于找不到库的异常。然后我将 require 路径更改为确切的完整路径:

require("/usr/local/lib/node_modules/babel-es6-polyfill/polyfill.js");

现在我可以使用调试器来单步调试转译的代码了!

关于node.js - 调试 NodeJS + ES6 应用程序 (Webstorm),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29170589/

相关文章:

WebStorm 实时模板 $SELECTION$ 正则表达式

javascript - ECMAScript 6 中更短的类初始化

javascript - 如何获取子对象的元素?

javascript - 在 Nodejs 中列出远程服务器中的所有文件

javascript - 与 webpack/browserify 捆绑时如何排除代码路径?

C 函数将函数作为参数传递,如何使用 node-ffi 包装此函数?

javascript - 为什么导出的模块错误报告定义的函数 "is not a function"

javascript - 找不到模块 'sails'

javascript - 在 Javascript 中的每个新字母之前分割字符串

node.js - 无法从 WebStorm 调试远程 docker node.js 应用程序