VB_*_*VB_ 12 node.js webstorm ecmascript-6 babeljs
我想在客户端和服务器端都使用ES6.当然,我可以从终端启动我的NodeJS服务器babel-node src/app.js
,但它无法调试.
另一方面,Webstorm 9声称它支持ES6,但是当我尝试启动默认的Node配置时,它会抱怨该a => a + 1
功能.
问题:如何从Webstorm 9中启动NodeJS + ES6应用程序?
PS我使用Node 0.12.*版本PS我也试过这个但它也不适用于我
我终于使用在WebStorm中工作的polyfill来调试转换的代码,并且WebStorm与Babel的工作方式真的令人印象深刻.
按照WebStorm中配置FileWatcher的说明非常容易,它会自动转换您的es6代码:http://babeljs.io/docs/setup/#webstorm
绊倒我的步骤是让节点找到polyfill文件,所以我可以使用es6迭代器和生成器.Babel网站称全球安装Babel和polyfill:
npm install -g babel-es6-polyfill
Run Code Online (Sandbox Code Playgroud)
但是当我在我的节点程序中添加时:
require("babel-es6-polyfill");
Run Code Online (Sandbox Code Playgroud)
Node抛出了一个关于找不到库的异常.然后我将require路径更改为完全完整路径:
require("/usr/local/lib/node_modules/babel-es6-polyfill/polyfill.js");
Run Code Online (Sandbox Code Playgroud)
现在我可以使用调试器逐步完成转换后的代码!
最后我在这里找到了答案。我这样做了npm install babel
,并require('babel/register')
在主节点文件的开头添加了 ( app.js
)。
现在我真的可以启动/调试 Webstorm 中用 ES6 编写的 Node 应用程序了。但这种调试是非常奇怪的——看起来以前可以工作的代码现在不起作用了。Intellij 调试器说我的所有变量都未定义。还有一篇关于另一个可能的问题的文章。
例子:
for (var i = 1; i < trs.length; i++) {
内部循环变量i
考虑了什么undefined
?
归档时间: |
|
查看次数: |
8751 次 |
最近记录: |