npm 包 hypernova-plugin-server-stacktrace 使用教程

阅读时长 6 分钟读完

在前端开发中,出现错误是常有的事情。为了更好地调试和定位错误,我们通常会加上一些日志或者堆栈信息。而 hypernova-plugin-server-stacktrace 这个 npm 包则提供了一种非常方便的方式,可以在服务端获取到完整的错误堆栈信息。

安装

使用 npm 安装即可:

使用

在使用 hypernova 进行服务端渲染的项目中,将 hypernova-plugin-server-stacktrace 作为插件加载即可:

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

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

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

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

-- --- --

加载完毕之后,在运行 hypernova 的服务时,就可以在终端中看到完整的错误堆栈信息了。例如:

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

这样我们就可以方便地定位到错误发生的位置和原因了。

示例

有一个简单的超级节点应用,它的渲染逻辑如下:

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

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

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

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

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

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

------

如果我们在运行该应用时,把 "baz" 的字母 z 拼错成 y,就会出现类似下面的错误:

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

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

可以看到,我们能够方便地看到出错的原因所在("Cannot read property 'length' of undefined"),以及具体出错的位置 (myView.js:2:34)。至此,我们已经成功使用了 hypernova-plugin-server-stacktrace 来定位一个错误!

总结

使用 hypernova-plugin-server-stacktrace 可以方便地获取服务端的错误堆栈信息,让我们能够更好地调试和定位错误。在真实的超级节点应用中,我们可以配合更丰富的日志信息,进行更加全面和深入的错误排查。

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

纠错
反馈