【问题标题】:Why is LogRocket recording a session every time I run a new Gatsby JS build为什么每次运行新的 Gatsby JS 构建时 LogRocket 都会记录会话
【发布时间】:2020-12-20 22:30:02
【问题描述】:

我正在尝试在我托管在 Netlify 上的 Gatsby JS 应用中安装 LogRocket。

我只想在生产环境中记录会话,在大多数情况下一切都很好,但我注意到当我将新构建推送到 Netlify 时,LogRocket 将始终在构建过程中注册一个新会话。

有没有办法阻止 LogRocket 在 Gatsby / Netlify 构建过程中注册新会话?

我目前正在gatsby-browser.js 中的onClientEntry 构建挂钩中初始化会话,如下所示:

exports.onClientEntry = () => {
  if (typeof window !== "undefined" && process.env.NODE_ENV === "production") {
    LogRocket.init('<project_id>');
  }
}

【问题讨论】:

    标签: node.js gatsby netlify logrocket


    【解决方案1】:

    试试onInitialClientRender API:

    exports.onInitialClientRender = () => {
      if (typeof window !== "undefined" && process.env.NODE_ENV === "production") {
        LogRocket.init('<project_id>');
      }
    }
    

    来自文档:

    onInitialClientRender{ Function }

    在客户端完成 Gatsby App 的初始(但不是后续)渲染时调用。

    【讨论】:

    • 成功了! onInitialClientRender 的 Gatsby 文档有点模糊,但这似乎是正确的浏览器 API 来初始化它
    猜你喜欢
    • 1970-01-01
    • 2014-01-15
    • 2021-06-23
    • 2012-01-19
    • 2011-05-13
    • 2012-10-17
    • 1970-01-01
    • 2014-04-25
    • 2013-11-26
    相关资源
    最近更新 更多