iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >调试Node.js代码的方式有哪些
  • 266
分享到

调试Node.js代码的方式有哪些

2023-06-21 21:06:41 266人浏览 薄情痞子
摘要

这篇文章主要讲解了“调试node.js代码的方式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“调试node.js代码的方式有哪些”吧!很多时候,我苦恼于 Node.js 的调试,只会使

这篇文章主要讲解了“调试node.js代码的方式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“调试node.js代码的方式有哪些”吧!

调试Node.js代码的方式有哪些

很多时候,我苦恼于 Node.js 的调试,只会使用 console.log 这种带有侵入性的方法,但是其实 Node.js 也可以做到跟浏览器调试一样的方便。

本文环境:

MacChrome 94.0.4606.81node v12.12.0vscode Version: 1.61.1

本文示例

本文示例采用的是之前探索洋葱模型的,仅有一个文件,就是根目录下 index.js,如下:

const Koa = require('koa');const app = new Koa();console.log('test')// 中间件1app.use((ctx, next) => {  console.log(1);  next();  console.log(2);});// 中间件 2 app.use((ctx, next) => {  console.log(3);  next();  console.log(4);});app.listen(9000, () => {    console.log(`Server is starting`);});

V8 Inspector Protocol + Chrome DevTools

v8 Inspector Protocol 是 nodejs v6.3 新加入的调试协议,通过 websocket与 Client/IDE 交互,同时基于 Chrome/Chromium 浏览器的 devtools 提供了图形化的调试界面。

我们进入项目根目录,执行(留意这个 8888 端口,后面会用到):

node --inspect=8888 index.js

结果如下:

调试Node.js代码的方式有哪些

结果出来一个链接——ws://127.0.0.1:8888/5f5c59fc-d42b-4ab0-be15-6feb1a05ed2d。这个链接是 Node.js 和 Chrome 之前通信的 WEBSocket 地址,通过 websocket 通信,我们可以在 Chrome 中实时看到 Node.js 的结果。

如何进入 Chrome 的调试界面

第一种方式(自己尝试无效)

打开 Http://localhost:8888/JSON/list,其中 8888 是上面 --inspect 的参数。

[    {        "description": "node.js instance",        "devtoolsFrontendUrl": "chrome-devtools://devtools/bundled/js_app.html?experiments=true&v8only=true&ws=localhost:8888/5f5c59fc-d42b-4ab0-be15-6feb1a05ed2d",        "devtoolsFrontendUrlCompat": "chrome-devtools://devtools/bundled/inspector.html?experiments=true&v8only=true&ws=localhost:8888/5f5c59fc-d42b-4ab0-be15-6feb1a05ed2d",        "faviconUrl": "https://nodejs.org/static/images/favicons/favicon.ico",        "id": "5f5c59fc-d42b-4ab0-be15-6feb1a05ed2d",        "title": "index.js",        "type": "node",        "url": "file:///Users/gpingfeng/Documents/Personal/Test/test-oNIOn/index.js",        "webSocketDebuggerUrl": "ws://localhost:8888/5f5c59fc-d42b-4ab0-be15-6feb1a05ed2d"    }]

很多资料说,可以通过 devtoolsFrontendUrl 就可以直接访问到,但尝试了一下,并没有成功。【可能跟我的环境有关】

第二种方式

查了一下资料,在 stackoverflow 找到对应的方案,如下:

devtools://devtools/bundled/inspector.html?experiments=true&ws=127.0.0.1:8888/5f5c59fc-d42b-4ab0-be15-6feb1a05ed2d

其中 devtools://devtools/bundled/inspector.html?experiments=true 是固定的,ws 参数对应的就是 websocket 地址。

可以看到界面如下:

调试Node.js代码的方式有哪些

第三种方式

Chrome 浏览器打开 HTTP 监听接口页面,打开 dev tool,执行完 node --inspect=8888 index.js 后可以看到这个图标,点击一下:

调试Node.js代码的方式有哪些

就可以出现跟浏览器一样的调试页面,比如 Sources Panel查看脚本、Profile Panel 监测性能等。

调试Node.js代码的方式有哪些

另外,可以访问访问 chrome://inspect/#devices,可以看到当前浏览器监听的所有 inspect。

调试Node.js代码的方式有哪些

Vscode 调试

除了浏览器之外,各大主流的 IDE 都支持 Node.js 的调试,本文以 Vscode 为例。

Launch Configuration

打开调试页面,给我们 Node 项目添加一个 launch 配置:

调试Node.js代码的方式有哪些

选择 Node.js

调试Node.js代码的方式有哪些

这样就会在项目根目录生成对应的文件 .vscode/launch.json(当然你也可以手动创建),其中 program 指的就是文件入口,${workspaceFolder} 指的是根目录。

{  // Use IntelliSense to learn about possible attributes.  // Hover to view descriptions of existing attributes.  // For more infORMation, visit: https://Go.microsoft.com/fwlink/?linkid=830387  "version": "0.2.0",  "configurations": [    {      "type": "pwa-node",      "request": "launch",      "name": "Launch Program",      "skipFiles": [        "<node_internals>/**"      ],      "program": "${workspaceFolder}/index.js"    }  ]}

按 F5、或者点击如下按钮:

调试Node.js代码的方式有哪些

结果:

调试Node.js代码的方式有哪些

可以看到,在左侧可以显示当前作用域的值,调用堆栈等信息,右上方亦可逐步调试函数、重启等功能,非常强大。

Attach to Node Process Action

通过 Attach to Node Process Action 的方式,我们可以直接调试运行中的 Node.js 进程。

比如我们先启动项目——npm run start

然后 command + shift + p(window Ctrl+Shift+p),输入 Attach to Node Process Action,回车,然后选中运行中进程再回车,就可以跟上面配置一样调试代码了。

调试Node.js代码的方式有哪些

调试Node.js代码的方式有哪些

感谢各位的阅读,以上就是“调试Node.js代码的方式有哪些”的内容了,经过本文的学习后,相信大家对调试Node.js代码的方式有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 调试Node.js代码的方式有哪些

本文链接: https://www.lsjlt.com/news/300971.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 调试Node.js代码的方式有哪些
    这篇文章主要讲解了“调试Node.js代码的方式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“调试Node.js代码的方式有哪些”吧!很多时候,我苦恼于 Node.js 的调试,只会使...
    99+
    2023-06-21
  • Node.js调试方法有哪些
    这篇文章给大家分享的是有关Node.js调试方法有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。第一种打开 vscode 内置终端,右上角选择 JavaScript Debug Terminal在代码里面打...
    99+
    2023-06-14
  • JavaScript代码调试有哪些
    这篇文章将为大家详细讲解有关JavaScript代码调试有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.alert()通常可以使用警告框来提示变量信...
    99+
    2024-04-02
  • Node.js的代码调试debug
    在Node.js中调试代码有多种方法,下面列举了一些常用的调试方法:1. 使用console.log():最简单的调试方法是在代码中...
    99+
    2023-09-17
    Node.js
  • Python调试的方式有哪些
    本篇内容主要讲解“Python调试的方式有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python调试的方式有哪些”吧!Print对于脚本语言,调试最简单的方式就是打印输出,而print函...
    99+
    2023-06-15
  • IDEA调试的方法有哪些
    本篇内容介绍了“IDEA调试的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 一、条件...
    99+
    2024-04-02
  • javascript代码的使用方式有哪些
    这篇文章给大家分享的是有关javascript代码的使用方式有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。javascript代码有两种使用方式,分别是:1、直接执行,打开一个网页时,所有定义在script...
    99+
    2023-06-15
  • c++代码重用的方式有哪些
    C++代码重用的方式有以下几种:1. 函数调用:将常用的功能代码封装成函数,通过函数调用来重用代码。2. 类的继承:使用继承机制创建...
    99+
    2023-10-18
    c++
  • Linux Shell脚本调试模式的方法有哪些
    这篇文章主要介绍“Linux Shell脚本调试模式的方法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux Shell脚本调试模式的方法有哪些”文章能帮助大家解决问题。如何开始写一个脚...
    99+
    2023-06-27
  • JavaScript调试方法有哪些
    JavaScript调试的方法有以下几种:1. 使用console.log():在代码中插入console.log()语句,将变量或...
    99+
    2023-10-11
    JavaScript
  • VSCode 启动 Node.js 调试的几种方式
    在VSCode中,可以通过以下几种方式启动Node.js调试:1. 使用`launch.json`配置文件启动调试:通过在VSCod...
    99+
    2023-09-20
    VSCode
  • PHP中的调试方法有哪些
    这篇文章主要介绍“PHP中的调试方法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“PHP中的调试方法有哪些”文章能帮助大家解决问题。PHP中的debug(调试)方法有:1、在PHP代码中添加e...
    99+
    2023-06-29
  • mysql调优的方式有哪些
    有以下几种常用的MySQL调优方式:1. 优化查询语句:通过分析和优化查询语句,使用合适的索引、避免全表扫描、减少JOIN操作等,提...
    99+
    2023-09-05
    mysql
  • dubbo调用的方式有哪些
    Dubbo调用方式有以下几种: 同步调用:发送请求后,等待服务提供者返回结果后再返回。 异步调用:发送请求后,不等待服务提供...
    99+
    2023-10-22
    dubbo
  • webservice调用的方式有哪些
    有以下几种常见的方式可以调用webservice: SOAP(Simple Object Access Protocol):基于...
    99+
    2024-02-29
    webservice
  • React源码调试方式
    目录正文断点调试搜索定位Chrome Devtools 调试sourcemapnpm 下载react包插件注释调试 React 最初源码关联 react 源码项目总结正文 什么?调试...
    99+
    2022-11-13
    React 源码调试 React调试
  • HTML5/CSS3代码检测方式有哪些
    今天就跟大家聊聊有关HTML5/CSS3代码检测方式有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。伴随着今年10月底HTML5标准版的发布,未...
    99+
    2024-04-02
  • 代码管理工作流的方式有哪些
    这篇文章主要讲解了“代码管理工作流的方式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“代码管理工作流的方式有哪些”吧! 集中式工作流集中式工作流这种工作方式对于使用过SVN的...
    99+
    2023-06-15
  • swift framework使用OC代码的方式有哪些
    这篇文章主要介绍“swift framework使用OC代码的方式有哪些”,在日常操作中,相信很多人在swift framework使用OC代码的方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希...
    99+
    2023-07-02
  • css调用方式有哪些
    这篇文章主要为大家展示了“css调用方式有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“css调用方式有哪些”这篇文章吧。什么是css层叠样式表:为网页标签...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作