用 ES6 语法(包含 import 和 export)写的 nodejs 服务端脚步,如何在 webstorm 里调试?

2016-07-20 12:44:33 +08:00
 imjeen
因为 nodejs 目前还不能完全支持 ES6 ,只能进一步转换,比如 babel 转换( babel - node 代替 node 命令)。

但一时不知道怎么在 webstorm 里配置并调试代码。
9526 次点击
所在节点    Node.js
9 条回复
ljcarsenal
2016-07-20 12:47:43 +08:00
Sourcemap 支持不…
AlloVince
2016-07-20 13:11:08 +08:00
Debug 时 Node interpreter 直接配置为 babel-node 就行了
imjeen
2016-07-20 15:35:32 +08:00
@AlloVince

babel-node 命令是被局部安装到 node_modules/.bin ,所以通过 package 里的 scripts 的声明执行,比如:

"scripts": {
"build": "babel-node index.js"
}

webstorm 配置 Run / debug 时,添加 jnpm 的配置项,添加 Node interpreter 为: node_modules/.bin/babel-node 。


然后,无法启动。难道 babel - node 要全局命令

nodejs 接触不久, 请多多指教!
johnhsm2333
2016-07-20 17:52:31 +08:00
@imjeen

"scripts": {
"build": "./node_modules/.bin/babel-node index.js"
}

局部安装的话,应该这样使用。
wakiki
2016-07-20 18:02:24 +08:00
nodejs6 好像已经支持 es6
imjeen
2016-07-20 18:26:11 +08:00
@johnhsm2333 可以调试了,但是

import a from '/path/to/a'; 然后在后面断点上,此变量名为 undefined 。

好像 import 时都会被转化成其他名字,还是没法调试源码。
FrankFang128
2016-07-20 18:40:08 +08:00
去掉 转义,啥事没有
Sirormy
2016-07-21 16:08:40 +08:00
我的 nodejs 是 5.5 可以使用 ES6 啊, 反正我用到的新特性都没问题
imjeen
2016-07-21 21:35:01 +08:00
@Sirormy

nodejs 只是部分支持 ES6 ,因为是基于 V8 引擎的 (ECMAScript 2015 (ES6) and beyond)[https://nodejs.org/en/docs/es6/]。

很显然 nodejs 目前还不支持比如 import 和 export 等语法。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/293677

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX