npm 包budapest 使用教程

阅读时长 6 分钟读完

什么是 budapest?

budapest 是一个用于测试 Javascript 代码时产生 Stack Traces 的工具。它扩展了内置的 Error 类。当在代码中使用它的时候,你可以捕捉到 Stack Trace 的部分,这样你就能够更好地 Debug 代码。

为什么要使用 budapest?

有许多其他的工具可以用于 Debugging,那么为什么要使用 budapest 呢?这里给出一些其优势的原因:

  1. 细颗粒度的异常堆栈跟踪,即支持 async/await。
  2. 堆栈跟踪中包含源码和范围变量。(支持source-map)
  3. 可以通过配置文件进行高度的定制,支持多种输出格式和处理器,如Slack, JSON,Orbit,命令行等。
  4. 不会阻塞主线程,极度零干扰性,可以在生产环境使用。

如何在你的项目中使用 budapest?

以下是使用 budapest 的步骤:

1. 安装 npm 包

2. 在你的代码中使用 budapest

使用时,简单地在代码中抛出一个异常:

通过这行代码,我们可以显示以下信息:

正如你所见,输出中包括了 foo 函数和 test.js 文件的文件名和行数,这使得 Debug 函数将变得更加容易。

3. 定制化 budapest

budapest 有强大的自定义性,以下是一些可以自定义的选项:

  • cwd: string 默认值同调用node目录。
  • sourceMapCache: 可以缓存的 sourceMap 文件,主要为提升性能而提供的。
  • filename :靠近Error中的(flattened)文件名或用于生成输出中的名称。Tip:如果 Node.js 环境变量中设置了NODE_ENV=production,不需要指定该值,budapest会自动取文件的文件名部分映射为代码目录,若是非生产环境为了能够找到源代码需要配置该选项。
  • silent: 是否隐藏标准 error stack trace。

您可以配置 .budapestrc.js 文件来覆盖上述选项,如下:

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

3.1 静默模式

您可以使用silent选项来禁止 budapest 打印 error 的 stack trace。

3.2 强制使用源代码

可以使用 filename 选项来强制使用源代码文件名来映射上报的行,而不是使用一个 flatten(就是单纯文件名部分加上行号和数目)。这对于定位到具体哪个代码更容易。这对于查找错误所在代码非常有用。

3.3 缓存 sourceMap 文件

如果有许多只读打开的映射文件,可以在代码中使用sourceMapCache选项缓存 sourceMap 文件:

4. 集成 budapest

budapest 集成了许多常用的处理器,如 Slack、Command line 等。这可以帮助您指导 bug 生命周期和提醒你和接收者更有效地讨论 bug,例如在解决问题时使用 Slack 通知。

4.1 CLI 处理器

CLI 处理器是默认启用的,可以按以下方式使用它:

或者使用 npm 脚本:

现在您可以轻松地通过npm test命令运行测试,budapest 将作为错误码 exit。

4.2 更复杂的处理器

budapest 支持各种输出处理器,例如 Slack 或 Elasticsearch。下面是一些可用的处理器:

  • slack:向 Slack 频道发送错误。
  • orbit: 往 Orbit 发送错误。
  • elasticsearch:编辑 Elasticsearch 集群。
  • mailgun:向重要团队成员发送邮件。

处理器的选项在 .budapestrc.js 文件中定义,比如:

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

您可以查看官方文档来了解如何使用编写其他处理器,并了解如何在 budapest 中整合它们。

结论

budapest 是一个非常好用的工具,它提供了详细的 Stack Trace 输出、源码映射、灵活的配置方式和多种处理器来帮助您更好地 Debug 应用程序。希望这篇指南能够帮助你快速上手 budapest,并能够更好地 Debug Javascript 代码。

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

纠错
反馈