Node.js 使用 ES6 在 Visual Studio Code 中调试?
Node.js 使用 ES6 在 Visual Studio Code 中调试?
Node.js 目前好像不完全支持 import, 箭头函数,但是可以使用 babel 进行转译,但这样的话,调试的时候,只能把断点打在转译后的文件才能生效
问题是:有没有办法可以让断点停在原始文件上?
使用的是 Visual Studio Code, 有没有相关的插件可以实现?或者,其他 IDE?
谢谢了!
有,用 source map
你试试在 babel 的配置文件里开启 source map,我记不太清了
ES6 的模块系统刚刚支持,但 ES6 的其他特性早就支持了,用的 V8 引擎所以基本和 Chrome 一样的进度。
你应该升级你的 Node 了
node 现在完全支持 es6 了吗?想用了。。
node 早就能用了
v8 最新版本 60 已经支持 import node V8.5.0 也已经支持 import 箭头函数这种早就支持了 升级 node 版本 直接打断点就好
node 现在的 stable 是 8 升级吧,都支持
node 8.5 对模块的支持需要将文件后缀名改为 .mjs, 运行时候也需要加上 --experimental-modules, 不知道正式支持的时候,是不是能直接后缀名 .js
同时,vscode 里面安装了 Node.js Modules Intellisense 来检测模块的话,mjs 文件是不扫描的,需要在 user settings 里面添加多一项 “.mjs”<br>"node-module-intellisense.fileModuleExtensions": [<br> ".js",<br> ".jsx",<br> ".ts",<br> ".d.ts",<br> ".tsx",<br> ".vue",<br> ".json",<br> ".mjs"<br> ],<br>
不需要插件
1.像 2 楼说的那样,转译后要有 sourcemap 文件
2.在 launch.json 里把 sourcemap 设为 true,如果失败,说明 vscode 找不到生成的 sourcemap 文件,还要在 launch.json 里配置一下路径。
楼上有些不负责任的乱说,还好楼主自己不糊涂。同一楼 babel 加上 source map。[文档]( https://babeljs.io/docs/usage/cli/#babel-compile-with-source-maps)
在Visual Studio Code (VS Code) 中使用 Node.js 和 ES6 进行调试是非常高效的。以下是一个简单的步骤指南,帮助你快速上手:
-
安装 Node.js 和 VS Code: 确保你已经安装了最新版本的 Node.js 和 VS Code。
-
创建项目: 在你的工作目录下创建一个新的文件夹作为项目目录,然后在 VS Code 中打开它。
-
初始化项目: 在终端中运行
npm init -y
来初始化一个新的package.json
文件。 -
配置
.babelrc
(如果需要转译 ES6 代码): 创建一个.babelrc
文件,并添加以下内容:{ "presets": ["@babel/preset-env"] }
-
安装 Babel: 运行
npm install --save-dev @babel/core @babel/cli @babel/preset-env
来安装 Babel 及其预设。 -
创建调试配置: 在 VS Code 中,打开调试视图(左侧活动栏中的虫子图标),然后点击齿轮图标创建
launch.json
文件。选择 “Node.js” 环境。launch.json
可能如下所示:{ "version": "0.2.0", "configurations": [ { "type": "node", "request": "launch", "name": "Launch Program", "program": "${workspaceFolder}/app.js", "runtimeExecutable": "node", "outFiles": ["${workspaceFolder}/dist/**/*.js"] } ] }
-
编写并调试 ES6 代码: 编写你的 ES6 代码(例如
app.js
),然后在 VS Code 中设置断点并启动调试。
这样,你就可以在 VS Code 中愉快地使用 Node.js 和 ES6 进行开发和调试了。