Почему LogRocket записывает сеанс каждый раз, когда я запускаю новую сборку Gatsby JS

#node.js #gatsby #netlify #logrocket

#node.js #gatsby #netlify #logrocket

Вопрос:

Я пытаюсь установить LogRocket в свое приложение Gatsby JS, которое я размещаю на Netlify.

Я хочу записывать сеансы только в процессе производства, и по большей части все работает отлично, но я заметил, что когда я отправляю новую сборку в Netlify, LogRocket всегда регистрирует новый сеанс в процессе сборки.

Есть ли способ запретить LogRocket регистрировать новый сеанс во время процесса сборки Gatsby / Netlify?

В настоящее время я инициализирую сеанс в onClientEntry сборке следующим gatsby-browser.js образом:

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

Ответ №1:

Попробуйте onInitialClientRender API:

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

Из документов:

onInitialClientRender { Function }

Вызывается, когда на клиенте выполняется начальный (но не последующий) рендеринг приложения Gatsby.

Комментарии:

1. Это сработало! Документация Gatsby для onInitialClientRender немного расплывчата, но, похоже, это правильный API браузера для инициализации этого