调试 Node.js 代码第三讲:调试 Node.js 的 Web 服务代码

 学习 Node.js  原创  管理员  2020-06-21 17:16

概要:我们继续之前的讲解,这里我们使用 VS Code 去调试 HTTP Server 中的代码,以便我们能更好地理解调试的触发时机与运行过程。我们后续也会继续推出有关 Node.js 调试相关的文章,欢迎关注哦。

前面的例子中,我们讲解了如何使用 VS Code 去调试简单的 js 代码,现在我们讲一下如何调试 Web 请求中的代码。

示例

我们先创建一个简单的 http 服务,web.js 文件内容如下:

const http = require("http")

//创建一个http服务
const server = http.createServer((request, response) => {
    const urlPath = request.url
    console.log(`您正在访问:${urlPath}`)
    response.setHeader("Content-Type", "text/html;charset=utf-8")
    response.end(`访问时间:${new Date()},访问路径:${urlPath}`)
    response.statusCode = 200
})

//监听web端口
server.listen(8080, "127.0.0.1", () => {
    console.log(`网站入口:http://127.0.0.1:8080/`);
})

运行此代码:

$ node web.js

此时我们就已经创建了一个简单的网站,如下图:

和之前一样,我们在需要的地方打上断点即可,如下图:

同样是选择 Node.js 环境:

此时已经处于调试状态了,但是没有「立即命中」断点,原因是我们的断点是打在请求中的,而不是外层的代码中。也就是说上图中的断点是在一个回调函数中,此时还没有运行此回调函数。

因此,我们需要访问一下地址:http://127.0.0.1:8080/ 后,就发现可以命中断点了:

总结

只有运行到了「打了断点」的代码,才会命中此断点,VS Code 也会展示相关的变量等调试信息。当然,我们后面也可以通过配置文件来使得在我们单击「运行调试」时,自动启动应用,这样我们就不用单独地手工来发送 http 请求了。

Node.js  

编辑:myweb   最后更新于:2020-06-21 17:22


版权声明:本站所有原创内容受到法律的严格保护,版权归本站所有。如果您觉得我们的内容有价值,您仍然可以进行自由传播,但必须显著地标识或说明此内容在本站的链接地址。




联系我:help@wodeabc.com,鄂ICP备14016278号-2
©2016-2020 我的ABC All Rights Reserved.
友情链接: 一起编程网