如何在 TypeScript 中 debug Node.js 应用

阅读时长 6 分钟读完

在前端开发中,TypeScript 和 Node.js 一直是非常重要的技术。同时,我们也经常需要进行调试来定位代码问题。那么,在使用 TypeScript 开发 Node.js 应用时,我们应该如何进行调试呢?本文将会从以下几个方面进行详细介绍和指导。

环境准备

在进行 TypeScript 和 Node.js 的程序调试前,我们需要先做好以下几个环境准备:

  1. 安装 Node.js 和 npm
  2. 安装 TypeScript
  3. 安装调试工具(如 VS Code)

使用 VS Code 调试

VS Code 是一款非常流行的编辑器,也被广泛应用于 TypeScript 和 Node.js 的开发,此处以 VS Code 为例进行介绍。为了在 VS Code 上进行调试,我们可以使用以下步骤:

  1. 使用 VS Code 从源代码控制工具如 Git 中 Clone 代码到本地项目。
  2. 安装 VS Code 中的 Debugger for Chrome 插件。
  3. 修改项目的 launch.json 文件,配置调试选项,如下所示:
-- -------------------- ---- -------
-
    ---------- --------
    ----------------- -
        -
            ------- ------ ---------
            ------- -------
            ---------- ---------
            ------- ----------------------------
            -------------- ------------ ----- --------------------
            ------------- -----
            ------ -------------------
            ----------- ------------
            ---------- ---------------------
            ------------------------- ---------------------
            ---------- ------------------------
        -
    -
-

在该 launch.json 文件中,我们需要配置以下内容:

  • name:该调试会话的名称。
  • type:指定所需的 Debugger(在这里我们使用 node)。
  • request:指定 Debugger 请求的类型。通常我们使用 'launch',这表示启动应用程序并进入调试模式。
  • args:指定应用程序文件与文件的路径。在这里,我们需要指定 TypeScript 文件的路径,同时我们也可以配置一些选项。
  • runtimeArgs:指定启动 Node.js 时的运行时参数(例如,--no-deprecation)。
  • sourceMaps:如果为 true,则该文件与源文件之间的行数映射将从调试器过程中受益。这通常是为了查看源代码而不是编译后的 JavaScript 代码。
  • cwd:指定当前工作目录。
  • protocol:指定 Debugger 支持的协议类型。通常,我们将其设置为 inspector
  • console:指定调试信息输出的目标。这可以是 "console""integratedTerminal"
  • internalConsoleOptions:指定是否应自动展开调试器内部控制台。
  • envFile:指定环境变量文件的路径。

使用 Chrome 和 Chrome DevTools 调试

在打开 VS Code 调试之前,我们通过 Chrome 和 Chrome DevTools 调试来确定一些必要的信息。具体地说,我们需要检查以下几个步骤:

  1. 在 Chrome 中打开该应用程序,并打开 DevTools。在 DevTools 中,单击“Sources”(已经选择的话)。
  2. 在 Sources 标签下,搜索 app.js。我们应该能够看到一个同名的 TypeScript 文件。
  3. 在该 TypeScript 文件中,打开断点,刷新页面,看调试器是否可能停在该断点上。如果没有,请在 TypeScript 文件中添加断点并执行相同操作。
  4. 一旦我们的断点在这个 TypeScript 文件中生效,可以在 VS Code 中启动版本控制工具内置的 Debug Chrome 插件进行断点调试。
  5. 这时候可以去 DevTools 的 Sources 标签中,我们应该能够在 Application tab 下找到一个 "local file system" 选项。代码会自动映射到这个选框中。

总结

在这篇文章中,我们介绍了使用 TypeScript 开发 Node.js 应用时如何进行调试,以及如何使用 VS Code 和 Chrome DevTools 进行调试。通过这篇文章的学习和实践,你将能够更好地定位问题和调试代码。

示例代码

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

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

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

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

纠错
反馈