Deno 中如何调试 JavaScript 代码

阅读时长 5 分钟读完

Deno 是一个新兴的 JavaScript 和 TypeScript 运行时环境,它提供了许多有用的功能,如安全性、内置模块、单文件执行等等。在 Deno 中调试 JavaScript 代码也是非常重要的,本文将介绍如何在 Deno 中进行调试,并提供一些有用的技巧和示例代码。

调试工具

Deno 中有两种主要的调试工具:Deno.inspect()Deno.debug()

Deno.inspect() 是一个内置的调试工具,它可以输出 JavaScript 对象的详细信息。我们可以通过将对象作为参数传递给 Deno.inspect(),来查看该对象的属性、方法和值。例如:

输出结果如下:

Deno.debug() 是一个调试器,它可以让我们在代码中设置断点,以便在运行时暂停代码执行。我们可以使用 Deno.debug() 来检查变量的值、跟踪代码的执行路径和调试错误。例如:

在运行代码时,当 Deno.debug() 被调用时,代码会停止执行并进入调试模式。我们可以使用命令行调试工具 deno debug 来调试代码。

调试技巧

除了上述的调试工具,还有许多其他的调试技巧可以帮助我们更好地调试 JavaScript 代码。

使用 console.log()

在 JavaScript 中,最简单的调试方法就是使用 console.log()。我们可以在代码中插入 console.log() 来打印变量的值、跟踪代码的执行路径和调试错误。例如:

使用 debugger

除了 Deno.debug(),JavaScript 还有一个内置的调试器 debugger。我们可以在代码中插入 debugger 来设置断点和检查变量的值。例如:

在运行代码时,当 debugger 被执行时,代码会停止执行并进入调试模式。我们可以在浏览器的开发者工具中调试 JavaScript 代码。

使用 VS Code 调试器

VS Code 是一款流行的代码编辑器,它内置了一个强大的调试器。我们可以使用 VS Code 调试器来调试 Deno 中的 JavaScript 代码。具体操作如下:

  1. 在 VS Code 中打开项目文件夹。
  2. 在 VS Code 中打开 launch.json 文件。
  3. launch.json 文件中添加 Deno 调试配置,例如:
-- -------------------- ---- -------
-
  ------- -----------
  ------- -------
  ---------- ---------
  ------ ---------------------
  -------------------- -------
  -------------- ------- ---------------- ----------
  ------- ----
-
  1. 在代码中设置断点。
  2. 在 VS Code 中点击调试按钮,开始调试代码。

示例代码

下面是一个使用 Deno.debug() 调试 JavaScript 代码的示例:

在运行代码时,当 Deno.debug() 被调用时,代码会停止执行并进入调试模式。我们可以使用命令行调试工具 deno debug 来调试代码。例如:

-- -------------------- ---- -------
- ---- ----- ------
-------- --------- -- -----------------------------------------------------------
-- ----- ---------- ---- --- --------- --- -- -------
    ----------------------------------------------------------------------------------------------------------------------------------------
----- -- ----- -- --------
- - -------- ------ -- -
  -   ----- ------ - - - --
  -   ------------ ------ ---
------

在调试模式下,我们可以使用 c 命令继续执行代码,使用 n 命令执行下一行代码,使用 s 命令进入函数内部,使用 o 命令跳出函数内部,使用 repl 命令进入 REPL 模式,使用 q 命令退出调试模式等等。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67da284ba941bf71341e3f26

纠错
反馈