Nodejs 用 ES6 语法(包含 import 和 export)写的服务端脚本,如何在 webstorm 里调试?
Nodejs 用 ES6 语法(包含 import 和 export)写的服务端脚本,如何在 webstorm 里调试?
因为 nodejs 目前还不能完全支持 ES6 ,只能进一步转换,比如 babel 转换( babel - node 代替 node 命令)。
但一时不知道怎么在 webstorm 里配置并调试代码。
Sourcemap 支持不…
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 接触不久, 请多多指教!
“scripts”: {
“build”: “./node_modules/.bin/babel-node index.js”
}
局部安装的话,应该这样使用。
nodejs6 好像已经支持 es6
可以调试了,但是
import a from ‘/path/to/a’; 然后在后面断点上,此变量名为 undefined 。
好像 import 时都会被转化成其他名字,还是没法调试源码。
去掉 转义,啥事没有
我的 nodejs 是 5.5 可以使用 ES6 啊, 反正我用到的新特性都没问题
nodejs 只是部分支持 ES6 ,因为是基于 V8 引擎的 (ECMAScript 2015 (ES6) and beyond)[https://nodejs.org/en/docs/es6/]。
很显然 nodejs 目前还不支持比如 import 和 export 等语法。
在 WebStorm 中调试使用 ES6 语法(包含 import
和 export
)编写的 Node.js 服务端脚本,你可以按照以下步骤进行:
-
配置项目: 确保你的项目已经使用 Babel 或 Node.js 的原生 ES6 支持(Node.js v12+ 提供了较好的 ES6 支持)。如果使用 Babel,确保已经安装并配置了相关依赖(如
@babel/core
,@babel/preset-env
等)。 -
创建
.babelrc
或babel.config.json
(如果使用 Babel):{ "presets": ["@babel/preset-env"] }
-
配置 WebStorm:
- 打开 WebStorm,加载你的项目。
- 在
Run
菜单中,选择Edit Configurations...
。 - 点击左上角的
+
号,选择Node.js
。 - 在
JavaScript file
中指定你的入口文件(如app.js
)。 - 确保勾选
Enable Node.js core modules debugging
以启用核心模块调试。
-
使用 ES6 语法: 确保你的文件使用
.js
或.mjs
扩展名(如果使用 Node.js 原生 ES6 模块支持,推荐使用.mjs
)。 -
启动调试: 在配置好的运行/调试配置上点击运行(绿色三角形)或调试(绿色虫子图标)。WebStorm 会启动 Node.js 进程,并在断点处暂停执行,允许你进行调试。
这样,你就可以在 WebStorm 中方便地调试使用 ES6 语法的 Node.js 服务端脚本了。