npm 包budapest 使用教程

什么是 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


猜你喜欢

  • npm 包 buddha-tarol 使用教程

    简介 buddha-tarol 是一个基于 JavaScript 编写的 npm 包,它可以在浏览器端和 Node.js 环境下使用。它提供了一个简单易用的 API,可以方便地将一段文字转换为佛语。

    4 年前
  • npm 包 buddha-plugin 使用教程

    在前端开发中,我们经常需要使用一些插件和工具,这些插件和工具可以帮助我们提高开发效率,让我们的代码更加健壮和可维护性。其中,npm 包是我们经常使用的一种工具,npm 提供了各种各样的包,让我们可以快...

    4 年前
  • npm 包 bunda 使用教程

    前言 npm 包 bunda 是一个前端构建工具,用于打包和优化应用程序代码。它提供了许多有用的功能,如代码拆分、资源优化、文件压缩和代码缓存等。 本篇文章将详细介绍 npm 包 bunda 的安装和...

    4 年前
  • npm 包 bundesscraper 使用教程

    在前端开发中,如果需要获得某些网站的数据,就需要通过爬虫技术获取。这时候,npm 包 bundesscraper 就是一个不错的选择。它可以帮助我们快速地获取任何网站上的信息,而且使用也很简单。

    4 年前
  • npm 包 bundalo-intl-formatter 使用教程

    前言 在前端开发过程中,经常会遇到需要国际化的需求。而处理国际化的字符串格式化是其重要组成部分之一。为了方便开发者快速地实现这一需求,npm 上出现了一个优秀的工具类库 bundalo-intl-fo...

    4 年前
  • npm 包 build-version 使用教程

    在前端开发中,版本管理是一项非常重要的任务。随着项目规模的不断扩大,需要一种简单的方式来管理我们所使用的不同版本的代码,同时也需要方便快捷地更新版本。 在此背景下,npm 包 build-versio...

    4 年前
  • npm 包 build-util 使用教程

    前言 在前端开发中,我们经常需要使用构建工具来处理代码、压缩文件、打包等等。而 build-util 是一个简单易用的 npm 包,可以为我们提供快速构建的能力。 本篇文章将详细介绍 build-ut...

    4 年前
  • npm 包 build-version-compare 使用教程

    在前端开发中,不同的工具包和框架的版本管理非常重要,因为它们决定了我们使用的功能以及我们能否享受到新功能和修复的 bug。其中,一种常用的版本控制方式是通过比较不同版本之间的构建号来进行判断和管理,因...

    4 年前
  • npm 包 build-webrtc 使用教程

    在现代 Web 应用程序中,实时通信已经成为了必要的功能之一。而 WebRTC 是一种使实时通信实现变得更加容易和高效的技术。但是,在构建 WebRTC 应用程序时,有很多核心概念需要理解,这也使得它...

    4 年前
  • npm 包 build4js 使用教程

    前端开发过程中,我们需要使用各种工具和库来提高效率和代码质量。其中,npm 包是一种非常流行的方式,可以通过 npm 安装各种第三方库和工具,并进行版本管理和升级。

    4 年前
  • npm 包 buddha-zero 使用教程

    前言 npm(Node Package Manager)是一个很好的 JavaScript 包管理工具。它提供了许多供前端工程师使用的包,这些包都是开源的,可以直接在我们的项目中使用。

    4 年前
  • npm 包 Buddha 使用教程

    前言 在前端开发中,我们经常会需要在代码中输出一些提醒、警告或者提示信息,让用户更好地理解我们的程序运行状态。而其中一个比较有趣的包就是 buddha,它可以在终端输出佛祖的名言警句,给我们带来一些轻...

    4 年前
  • npm 包 buddhajs 使用教程

    介绍 buddhajs 是一个用于创建自定义 HTML 标签的库,基于 Web Components 规范,并定位于 Web Components 的简单实现。 在使用 buddhajs 前,你需要知...

    4 年前
  • npm包 business-elements-client的使用教程

    简介 在前端开发中,我们经常需要使用各种现成的npm包来加速开发效率。本文将介绍一个名为business-elements-client的npm包的使用方法,该包提供了一些基本的业务组件,可以方便地帮...

    4 年前
  • npm 包 buddle 使用教程

    buddle 是一个基于 webpack 的打包工具,专门用于将多个入口文件打包成一个 JavaScript 文件。如果你需要将你的前端项目打包成一个文件,buddle 是一个不错的选择。

    4 年前
  • npm 包 buddizutils 使用教程

    简介 buddizutils 是一个前端常用工具集合,提供了各种实用的方法来优化前端开发。通过使用 buddizutils 包,可以大大提高开发效率和代码可维护性。

    4 年前
  • npm 包 buddleyangxin 使用教程

    前言 npm(node package manager)是基于 Node.js 的包管理工具,提供了丰富的库和工具,方便开发者快速的搭建项目和添加依赖。其中,社区贡献的模块数量众多,在日常开发中大有可...

    4 年前
  • npm 包 buddy-browser 使用教程

    前端开发中,我们经常遇到需要在多个浏览器中测试页面的情况,传统的做法是在每个浏览器中逐一打开页面,这样的方法效率低下且不够及时。而现在,有一个 npm 包被开发出来,它就是专门用来帮助我们在多个浏览器...

    4 年前
  • npm 包 build_chromium 使用教程

    什么是 build_chromium? build_chromium 是一个 NPM 包,其用途是快速、方便地编译 Chromium 浏览器以及 Chromium 内部的各种项目,例如 V8 引擎等。

    4 年前
  • npm 包 build_sdk 使用教程

    在前端开发过程中,我们经常需要使用一些第三方的库或者框架来辅助我们开发。而这些库或者框架在发布的时候通常是以 npm 包的形式进行发布的。而本文将要介绍的就是一种名为 build_sdk 的 npm ...

    4 年前

相关推荐

    暂无文章