您的位置 首页 > 数码极客

「vscode如何调试node」vscode如何调试nodejs…


翻译:疯狂的技术宅

作者:Charles Szilagyi

来源:charlesagile

转发链接:

前言

在接下来的几篇文章中,我们将研究如何以专业的方式调试 JavaScript 和 TypeScript 代码。我们将学习如何使用 Visual Studio Code 中内置的调试器,而不是让 con 到处乱飞。

VS Code 调试完全攻略系列目录

  1. 基础知识
  2. 步进逐行调试
  3. 编辑变量并重新执行函数
  4. launch.json 和调试控制台
  5. 基于浏览器的 React 应用
  6. 调试用 TypeScript 开发并打包的 React


调试器允许你在程序运行时打开程序,查看其状态、变量、暂停并逐步观察数据流。你甚至可以运行代码片段,并在运行时环境中尝试想法。所有这些都无需停止程序后修改代码(添加 con!)并重新启动。你能够使用调试器解决问题并更快地了解代码。

我们先从一些简单的 Node.js 代码开始,然后着眼于调试浏览器程序、Express 服务器、GraphQL、TypeScript、Serverless、Jest 测试、Storybook 等等,不过在此之前要先了解一些必要的基础知识!即使你不喜欢服务器端 Node.js,仍然希望你先看完本文。

获取代码

该系列在 GitHub 上的代码:

我们第一个话题的代码非常简单——先把下面的代码复制粘贴到你的 index.js 文件中:

const http = require('http'); const hostname = '127.0.0.1'; const port = 3456; const serverUrl = `http://${hostname}:${port}` const server = ((req, res) => {   const name = 'World'   res.statusCode = 200;   res.setHeader('Content-Type', 'text/plain');   res.end(`Hello, ${name}!\n`); }); (port, hostname, () => {   con(`Server running at ${serverUrl}`); });

现在继续并在 VS Code 中打开文件夹:

Open the code

为了确保到一切正常,请试着运行它:

node index.js

然后访问 ,你应该会看到 Hello, World!。

请确保立即停止node index.js命令,否则你将收到一个丑陋的“错误:Error: listen EADDRINUSE error soon

代码本身很简单:运行HTTP服务器,并用 “Hello,World!” 响应每个请求。很简单对不对?但是这段简单的代码足以了使我们解调试的基本概念。

添加新功能

让我们向服务器添加一个功能:我们不再返回硬编码的消息 "Hello, World!",而是从查询中得到 name,在点击 /?name=Coco 时会回复 Hello, Coco!。

我们先假装不知道该怎么做,运行服务器后,发送请求并查看 Coco 出现在什么地方不是更有趣吗?试一试吧。启动调试器!

启动调试器

确保已在 VS Code 中打开 index.js,单击调试器图标,单击“运行并调试”,然后单击 Node.js:

Start the debugger

现在你的服务器正在调试模式下运行!访问 ?name=Coco 你不会看到任何不同,应该仍然返回默认消息。

接下来,在代码中添加一个断点(breakpoint),这样在下次访问服务器 URL 时将会暂停执行。可以通过单击编辑器左边的行号来实现:

添加断点

访问 ?name=Coco,VS Code 将弹出一个视图并暂停服务器:

Breakpoint in action

我们需要先找出查询中 name 的位置,这样才能完成后面的工作。在左侧边栏 中:你会看到一个名为 Variables 的部分。在 Local 下,IDE 显示了函数本地作用域的所有变量。有一个看上去可能性很大的:req:

检查 req

现在我们知道了,请求查询字符串位于 req.url 中,在文档的帮助下,我们把代码脚本修改为:

const http = require('http'); const url = require('url'); //  const hostname = '127.0.0.1'; const port = 3456; const serverUrl = `http://${hostname}:${port}` const server = ((req, res) => {   const {name} = url.parse, true).query;  //    res.statusCode = 200;   res.setHeader('Content-Type', 'text/plain');   res.end(`Hello, ${name}!\n`); }); (port, hostname, () => {   con(`Server running at ${serverUrl}`); });

由于代码已经被修改,所以需要重新启动服务器。使用调试器很简单:你可以按 ⇧+⌘+F5 或单击绿色的重启图标:

重新启动服务器

你也可以禁用断点,因为现在不需要它了:

禁用断点

访问 ?name=Coco,看看我们的工作成果!

希望你能够继续探索调试器。在下一篇中,我们将会用 "step over"、 "step in" 和 "step out" 功能逐行调试代码。

推荐VS Code 相关文章

手把手教你如何利用VS Code设置提高编码效率

手把手教你运用VS Code开源新工具调试代码神器

2020必备VS Code 插件-大大提高开发效率(内附 gif 图)


翻译:疯狂的技术宅

作者:Charles Szilagyi

来源:charlesagile

转发链接:

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“vscode如何调试node,vscode如何调试nodejs,Vscode调试,vscode如何调试nodejs项目,vscode如何调试代码,vscode如”边界阅读