vscode 调试 node.js的方法步骤


Posted in Javascript onSeptember 15, 2020

引言

作为前端工程师经常打交道的开发工具无非 IDE 编辑器 和 Chrome,在 Chrome 中调试是非常方便的,直接在 开发者工具的 source 栏打断点就可以了。那么,如果遇到需要写 node 相关的代码,比如 webpack 配置项,应该怎么调试来实现我们的需求呢?

VS Code 配置

在 VS Code 中单独有 debug 的菜单,需要指定 launch.json 文件,该文件为 VS Code 提供启动调试所需的各项配置。

// launch.json
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387

{
 "version": "0.2.0",
 "configurations": [
  {
   "type": "node",
   "request": "launch",
   "name": "Launch via NPM",
   "runtimeExecutable": "npm",
   "runtimeArgs": ["run-script", "debug"],
   "cwd": "${workspaceFolder}/envloader/mobile",
   "port": 9229
  }
 ]
}

上面是我们项目的调试配置, runtimeExecutable 指明调试方式是 npm 方式, runtimeArgs 为执行调试传的参数, cwd 指定工作目录。

// package.json

"scripts": {
  "debug": "node --max_old_space_size=12288 --inspect-brk node_modules/webpack/bin/webpack.js --config build/webpack.dev.js --watch"
 },

注意 debug 脚本要传入 --inspect-brk ,这样才可以开启 node 的调试功能。

VS Code 调试菜单点击执行按钮,我们就可以愉快的调试 webpack.dev.js 代码了。

vscode 调试 node.js的方法步骤

可以看到,webpack 内部的数据结构尽收眼底。

Chrome 开发者工具风格

刚才的 launch.json 中,有 port: 9229 这个属性,我们可以在浏览器访问 chrome://inspect ,就能以我们熟悉的 chrome 风格来调试 node 程序了。

vscode 调试 node.js的方法步骤

总结

调试程序能够帮助我们对代码有更深刻的了解,能够提供运行时的执行上下文、调用栈等信息。此外,在调试线上混淆后的代码时,对各种 a、o、f 等难以理解的变量名参数名也能通过运行时的变量数据轻易分析出代码的基本逻辑。

到此这篇关于vscode 调试 node.js的方法步骤的文章就介绍到这了,更多相关vscode 调试 node.js内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
jquery 弹出登录窗口实现代码
Dec 24 Javascript
判断iframe是否加载完成的完美方法
Jan 07 Javascript
原生js实现数字字母混合验证码的简单实例
Dec 10 Javascript
javascript cookie用法基础教程(概念,设置,读取及删除)
Sep 20 Javascript
js模式化窗口问题![window.dialogArguments]
Oct 30 Javascript
解决webpack -p压缩打包react报语法错误的方法
Jul 03 Javascript
Vue 2.0入门基础知识之内部指令详解
Oct 15 Javascript
requireJS模块化实现返回顶部功能的方法详解
Oct 16 Javascript
微信小程序实现保存图片到相册功能
Nov 30 Javascript
小程序rich-text组件如何改变内部img图片样式的方法
May 22 Javascript
js函数柯里化的方法和作用实例分析
Apr 11 Javascript
解决Antd Table表头加Icon和气泡提示的坑
Nov 17 Javascript
js实现特别简单的钟表效果
Sep 14 #Javascript
仿照Element-ui实现一个简易的$message方法
Sep 14 #Javascript
vue swipeCell滑动单元格(仿微信)的实现示例
Sep 14 #Javascript
JavaScript 如何计算文本的行数的实现
Sep 14 #Javascript
JavaScript实现串行请求的示例代码
Sep 14 #Javascript
浅谈JavaScript 声明提升
Sep 14 #Javascript
详解vue 中 scoped 样式作用域的规则
Sep 14 #Javascript
You might like
PHP file_get_contents 函数超时的几种解决方法
2009/07/30 PHP
第4章 数据处理-php数组的处理-郑阿奇
2011/07/04 PHP
PHP中substr()与explode()函数用法分析
2014/11/24 PHP
配置Nginx+PHP的正确思路与过程
2016/05/10 PHP
浅谈php和js中json的编码和解码
2016/10/24 PHP
php封装的数据库函数与用法示例【参考thinkPHP】
2016/11/08 PHP
juqery 学习之六 CSS--css、位置、宽高
2011/02/11 Javascript
浅谈JavaScript的事件
2015/02/27 Javascript
基于RequireJS和JQuery的模块化编程日常问题解析
2016/04/14 Javascript
JavaScript判断是否是微信浏览器
2016/06/13 Javascript
Bootstrap 填充Json数据的实例代码
2017/01/11 Javascript
微信小程序中hidden不生效原因的解决办法
2017/04/26 Javascript
js每隔两秒输出数组中的一项(实例)
2017/05/28 Javascript
vue快捷键与基础指令详解
2017/06/01 Javascript
javascript数组拍平方法总结
2018/01/20 Javascript
JavaScript简单实现关键字文本搜索高亮显示功能示例
2018/07/25 Javascript
vue2.0 中使用transition实现动画效果使用心得
2018/08/13 Javascript
详解@angular/cli 改变默认启动端口两种方式
2018/11/29 Javascript
JS左右无缝轮播功能完整实例
2019/05/16 Javascript
基于vue中的scoped坑点解说
2020/09/04 Javascript
vue3.0 加载json的方法(非ajax)
2020/10/26 Javascript
[06:11]2014DOTA2国际邀请赛 专访团结一心的VG战队
2014/07/21 DOTA
基于Python的接口测试框架实例
2016/11/04 Python
Python实现曲线点抽稀算法的示例
2017/10/12 Python
查看jupyter notebook每个单元格运行时间实例
2020/04/22 Python
PyCharm 2020.2下配置Anaconda环境的方法步骤
2020/09/23 Python
美国校服网上商店:French Toast
2019/10/08 全球购物
惠而浦美国官网:Whirlpool.com
2021/01/19 全球购物
喝酒检查书范文
2014/02/23 职场文书
学习雷锋活动总结
2014/04/29 职场文书
国际贸易专业求职信
2014/06/04 职场文书
分公司经理任命书
2014/06/05 职场文书
医院领导班子整改方案
2014/10/01 职场文书
大学生考试作弊被抓检讨书
2014/12/27 职场文书
服务员岗位职责范本
2015/04/09 职场文书
详细介绍python操作RabbitMq
2022/04/12 Python