vscode编辑器中如何调试nextjs代码

本文涉及的产品
应用实时监控服务-用户体验监控,每月100OCU免费额度
性能测试 PTS,5000VUM额度
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 代码可调式的重要性不言而喻。对于Programer来说,自己编写的程序能够被优雅调试是一件幸福的事情,特别是习惯了后端程序调试的开发者...在折腾Nextjs项目的日子里,我走了很多弯路才弄明白在vs code中如何优雅的调试代码。

导航

  • 引言
  • 什么是launch.json
  • 新建launch.json
  • 启动调试
  • 断点测试
  • 结语
  • 参考



alt


确保写的代码是可调式的。

引言

代码可调式的重要性不言而喻。

如何保障代码的质量? 那就是自测试。在这么多年的职业生涯中,我逐渐摸索出一个确保代码质量的笨方法——单步调试。

比如,接口提供给前端或者第三方系统使用,我一般会写一些测试用例,对代码进行单步调试。这种方法非常有效,也确实避免了上线之后产生重大bug的出现。

对于Programer来说,自己编写的程序能够被优雅调试是一件幸福的事情,特别是习惯了后端程序调试的开发者...
在折腾Nextjs项目的日子里,我走了很多弯路才弄明白在vs code中如何优雅的调试代码。

什么是launch.json

VS Code调试器 或 Chrome 开发工具调试具有完整源映射支持的Next.js前端和后端代码。
任何可以附加到Node.js的调试器也可以用于调试 Next.js 应用。

在 Visual Studio Code (VS Code) 中,launch.json是一个用于配置调试会话的重要文件。它定义了如何启动和配置调试器,以及代码在调试过程中的行为。

作用和重要性:

launch.json文件的主要作用是提供一个结构化的配置方式,以便在 VS Code 中启动和管理不同类型的调试会话。它定义了许多调试相关的参数,如调试器的类型、运行参数、环境变量等,从而在调试过程中能够提供更多的控制和定制。

通过合理配置 launch.json,你可以实现以下功能:

  • 指定调试目标: 你可以告诉调试器要调试的是哪个文件、哪段代码,以及启动参数等。
  • 设置断点: 可以在代码中设置断点,使得在调试时可以暂停执行,方便查看变量、堆栈等信息。
  • 定制调试环境: 你可以指定程序运行的环境变量、工作目录等,以模拟特定的调试场景。
  • 多种调试器支持: launch.json 支持多种不同编程语言和框架的调试器,包括 Node.js、Python、Java 等。

新建launch.json

1、打开vs code 编辑器,选择 "Run"-"Add Configuration",添加launch.json文件。


alt


接下来,在项目的根目录下就会出现一个名为 .vscode/launch.json 的文件,其中包含以下内容:

{
   
   
  "version": "0.2.0",
  "configurations": [
    {
   
   
      "name": "Next.js: debug server-side",
      "type": "node-terminal",
      "request": "launch",
      "command": "npm run dev"
    },
    {
   
   
      "name": "Next.js: debug client-side",
      "type": "chrome",
      "request": "launch",
      "url": "http://localhost:3000"
    },
    {
   
   
      "name": "Next.js: debug full stack",
      "type": "node-terminal",
      "request": "launch",
      "command": "npm run dev",
      "serverReadyAction": {
   
   
        "pattern": "- Local:.+(https?://.+)",
        "uriFormat": "%s",
        "action": "debugWithChrome"
      }
    }
  ]
}

这是官方文档的示例,可能对于很多像我一样的开发者不是太友好。
所以,我们给他翻译翻译~

2、常见字段及其含义

launch.json配置文件中,常见的字段和其含义如下:

  • "version":指定 launch.json 文件的格式版本。通常使用 "0.2.0"。
  • "configurations":一个包含多个调试配置的数组。每个配置是一个 JSON 对象,包含以下字段:
  • "name":调试配置的名称,用于在 VS Code 菜单中显示。
  • "type":指定调试器的类型,如 "node"、"python" 等。
  • "request":指定调试请求类型,通常为 "launch"(启动调试)或 "attach"(附加到已运行的进程)。
  • "program":指定要调试的程序或脚本的路径。
  • "cwd":指定工作目录,即调试会话开始时的当前工作目录。

其他可选字段:不同的调试器可能支持不同的字段,用于配置更详细的调试行为。

这样一看,大家应该就明白了吧。

启动调试

vs code启动调试很简单。鼠标左键单击左边菜单的小虫子按钮,然后选择Nextjs: debug server-side



alt


后者直接按"F5"键盘启动。

启动调试,看看效果吧!


alt


很遗憾,启动报错了!
经过排查,我们发现官方的给的launch.json配置文件的示例是默认启动目录是根目录,而我们的这个项目是需要在子目录中启动的。

那我们要如何解决呢?
在仔细看看官方文档,发现有这几句话:

If you're running Next.js from a directory other than root (for example, if you're using Turborepo) then you need to add cwd to the server-side and full stack debugging tasks. For example, "cwd": "${workspaceFolder}/apps/web".

翻译过来,大致如下:

如果你从根目录以外的目录运行 Next.js(例如,如果你使用 Turborepo),则需要将 cwd 添加到服务器端和全堆栈调试任务。例如,"cwd": "${workspaceFolder}/apps/web"。

注意我们启动的是server-side,所以"cwd": "${workspaceFolder}/apps/web"应该配置server-side节点下。


alt


再次启动试试!


alt


大告功成!

断点测试

我们可以在想要调试的代码行,打上断点,然后重新启动调试。


alt


终于可以进入断点调试了!
如果你想单步调试,可以按F10键。

结语

总体来说,vs code 还是比较强大的,支持各种语言的调试。
对于初学者来说,掌握程序调试技能将对学习编程起到事半功倍的效果。
本期的vscode+nextjs+debug实践希望能够帮助到您。

参考

相关文章
|
1月前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 来检查代码规范并自动格式化 Vue.js 代码。
【10月更文挑战第7天】随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍了如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 来检查代码规范并自动格式化 Vue.js 代码。通过安装和配置这两个工具,可以确保代码风格一致,提升团队协作效率和代码质量。
235 2
|
22天前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤
随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍了如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤。通过这些工具,可以显著提升编码效率和代码质量。
207 4
|
20天前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码
随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码。通过安装和配置这些工具,可以确保代码风格一致,提高代码质量和可读性。
49 1
|
1月前
|
JavaScript 前端开发 开发者
如何在 VSCode 中使用 ESLint 和 Prettier 检查并自动格式化 Vue.js 代码,提升团队协作效率和代码质量。
【10月更文挑战第9天】随着前端开发技术的发展,代码规范和格式化工具变得至关重要。本文介绍如何在 VSCode 中使用 ESLint 和 Prettier 检查并自动格式化 Vue.js 代码,提升团队协作效率和代码质量。通过安装插件、配置 ESLint 和 Prettier,以及设置 VSCode,实现代码实时检查和格式化,确保代码风格一致。
35 2
|
1月前
|
IDE 网络安全 开发工具
IDE之vscode:连接远程服务器代码(亲测OK),与pycharm链接服务器做对比(亲自使用过了),打开文件夹后切换文件夹。
本文介绍了如何使用VS Code通过Remote-SSH插件连接远程服务器进行代码开发,并与PyCharm进行了对比。作者认为VS Code在连接和配置多个服务器时更为简单,推荐使用VS Code。文章详细说明了VS Code的安装、远程插件安装、SSH配置文件编写、服务器连接以及如何在连接后切换文件夹。此外,还提供了使用密钥进行免密登录的方法和解决权限问题的步骤。
437 0
IDE之vscode:连接远程服务器代码(亲测OK),与pycharm链接服务器做对比(亲自使用过了),打开文件夹后切换文件夹。
|
1月前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查并自动格式化 Vue.js 代码,提升代码质量和团队协作效率。
【10月更文挑战第8天】本文介绍了如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查并自动格式化 Vue.js 代码,提升代码质量和团队协作效率。通过安装 VSCode 插件、配置 ESLint 和 Prettier,实现代码规范检查和自动格式化,确保代码风格一致,提高可读性和维护性。
76 2
|
1月前
|
Linux C语言 C++
vsCode远程执行c和c++代码并操控linux服务器完整教程
这篇文章提供了一个完整的教程,介绍如何在Visual Studio Code中配置和使用插件来远程执行C和C++代码,并操控Linux服务器,包括安装VSCode、安装插件、配置插件、配置编译工具、升级glibc和编写代码进行调试的步骤。
241 0
vsCode远程执行c和c++代码并操控linux服务器完整教程
|
29天前
|
前端开发 开发者
大模型代码能力体验报告之贪吃蛇小游戏《二》:OpenAI-Canvas-4o篇 - 功能简洁的文本编辑器加一点提示词语法糖功能
ChatGPT 的Canvas是一款简洁的代码辅助工具,提供快速复制、版本管理、选取提问、实时编辑、代码审查、代码转写、修复错误、添加日志和注释等功能。相较于 Claude,Canvas 更加简单易用,但缺少预览功能,适合一般开发者使用。
|
2月前
|
开发框架 .NET C#
VSCode开发.net项目时调试无效
【9月更文挑战第22天】在使用 VSCode 开发 .NET 项目时遇到调试问题,可从项目配置、调试配置、调试器安装、运行环境、日志和错误信息等方面排查。确认项目类型及文件配置,检查 `launch.json` 文件及配置项,确保调试器扩展已安装并启用,验证 .NET 运行时版本和环境变量,查看 VSCode 输出窗口和项目日志文件,检查权限及代码错误。若问题仍未解决,可查阅官方文档或社区论坛。
|
3月前
vscode——如何开启Edge进行调试
vscode——如何开启Edge进行调试
74 4
vscode——如何开启Edge进行调试
下一篇
无影云桌面