Рубрики
Без рубрики

Как настроить надежную и поддерживаемую Google Analytics в WebPack

Один из битов Мессы новой настройки приложения пытается выяснить, где Stask Scripts Google Analytics. Существуют некоторые существующие варианты, такие как React Charmet для управления головой вашего документа. Вы можете бросить его в свой монолитный файл index.html. Вещь

Автор оригинала: FreeCodeCamp Community Member.

Один из битов Мессы новой настройки приложения пытается выяснить, где Stask Scripts Google Analytics. Есть некоторые существующие варианты, такие как Реактивный шлем управлять главой вашего документа. Вы можете бросить его в монолите index.html файл.

Дело в том, что эти настройки редко работают так, как вы хотите их. Они в конечном итоге уродливые блоки HTML-струн в вашем JavaScript. Вы в конечном итоге, чтобы управлять этим монолитом index.html Файл, который я упоминал ранее на протяжении всего жизненного цикла вашего проекта.

Почему это имеет значение

Кроме того, как вы управляете своим кодом, если аналитика имеет решающее значение для вас и вашим бизнесом, вы хотите убедиться, что установка надежна и правильно установлена.

Многие разработчики предполагают, что потому, что это фрагмент JS, лучшая практика – бросить его в нижней части страницы. Вопрос с этим – это то, что бросая его в конце, оставляет более высокий риск, который вы пропустите отслеживание удара перед тем, как пользователь выйдет на страницу, так как аналитика не будет инициализировать до конца нагрузки страницы. Вот почему сам Google рекомендует Установка фрагмента как можно высоко в голове, насколько это возможно Отказ

Насколько важнее, как я говорю, это, вы можете не заботиться столько, если вы больше расслаблены об этом, и хотите получить общее представление о том, как все работает на вашем портфолио. Тем не менее, если вы расширите свой досягаемость в другие инструменты, такие как A/B тестирование с помощью Google Optimize, это еще более важно иметь GA GA, чтобы узнать страницу и эксперимент, работающий, чтобы избежать дополнительных задержек или худших, страницу мерцает. ?

Как мы исправим это

Частичные для HTML WebPack Plugin это расширение HTML WebPack Plugin Это упрощает ваше частичное управление. Его цель – специально пытаться избежать практики поддержания index.html Файл в WebPack Projects и вместо этого откладывается для ремонтопригодных расставлений, упрощающих вашу настройку.

На данный момент мы собираемся сосредоточиться на создании Google Analytics, но я рекомендую проверить Google Tag Manager Для управления тегами вообще, которые я покрою позже в последующем посте.

TL; DR – Если вы хотите прыгать прямо к решению, Вы можете схватить код здесь Отказ

Начиная

Мы захочем начать с базовой настройкой WebPack с помощью подключаемого плагина HTML WebPack. Это руководство не будет проходить вас через эту настройку, но вот пару отправных точек, если вы не знакомы:

Наконец, если у вас уже есть index.html Настройте, я не буду судить вас сейчас, но, надеюсь, это вдохновляет вас подходить к другим фрагментам так же и удалить необходимость в управлению index.html файл вообще.

Установка частичных для плагина HTML WebPack

Как только у вас установлено ваша базовая настройка и подключаемый плагин HTML WebPack, наши частичные плагин – это простое добавление:

yarn add html-webpack-partials-plugin -D

Примечание. Обязательно правильно настроить зависимость пакета на основе вашей конфигурации проекта.

Настройте свой частичный

Далее мы захочем создать наши частичные. Мои предпочтения для в целом управления их состоит в том, чтобы создать новый каталог под названием частичные в исходном корне. Например, если ваша точка входа живет на SRC/Main.js Ваш каталог Partials будет рядом с ним в SRC/Partials Отказ

Как только у вас есть предпочтительное местоположение, давайте создадим Analytics.html Файл в нашем каталоге новых частиц. На данный момент давайте добавим в какой-то тестовый код, поэтому мы знаем, что это работает. В Analytics.html :

Настройте свой частичный

Откройте свой webpack.config.js И давайте создадим частичную, чтобы включить в нашу сборку.

Сначала требуется плагин в верхней части вашего конфигурации. В webpack.config.js :

const HtmlWebpackPartialsPlugin = require('html-webpack-partials-plugin');

Далее, и это очень важно, включать новый экземпляр плагина После Ваш экземпляр Htmlwebpackplugin () Отказ В разделе плагинов webpack.config.js :

...
plugins: [
  new HtmlWebpackPlugin(),
  new HtmlWebpackPartialsPlugin({
    path: './path/to/src/partials/analytics.html'),
    location: 'head',
    priority: 'high'
  })
...

Теперь давайте сначала сломаем этот конфигурацию, прежде чем двигаться дальше:

  • путь : Это то, что звучит, путь к частичному файлу в нашем проекте. Обязательно обновите это в правильное местоположение, поэтому плагин может найти его.
  • Расположение : HTML-тег плагин ищет.
  • Приоритет : Это определяет, что в компиляционном времени наш плагин добавляет наши частичные в начале указанного Расположение тег или конец (открытие против закрытия).

Как мы покрыли ранее, мы хотим добавить это как высоко в <он AD> Насколько это возможно. Для большинства HTML тегов нам Эд в Ло Катион, частичные, добавляют его сразу после открытия тега, если априори Тай я S высокой. Но остроумие h the <ГЛАВНАЯ> МЕГИНГ, ЧАСТИЧЕСКИЙ LOO KS для Ваша метка Charset Meta и вводит его сразу после того, как важно сначала сделать это в документе.

Проверьте его

Компилировать WebPack, откройте свой проект в вашем браузере, и теперь вы должны увидеть хороший, ультрафиолетовый фон. ?

Если вы взгляните на источник, вы должны увидеть, как фрагмент добавлен сразу после ЧАСТЬ тег!

Теперь к аналитике

Давайте обновим наше Analytics.html Файл, чтобы посмотреть что-то вроде этого:


Просто обязательно обновите идентификаторы ( ua-xxxxxxxx-x ) в соответствии со своим значением свойства Google Analytics. Ваш фрагмент аналитики также может варьироваться в зависимости от вашей настройки.

Теперь вы должны быть в состоянии перекомпилировать WebPack и посмотреть, как ваша страница начнет пинг Google Analytics! ?

Примечание. Возможно, вам придется загрузить файл проекта с сервера до распознавания GA, а не сразу от вашей локальной файловой системы

Давайте сделаем это еще дальше

Это здорово и все, но при работе с Google Analytics, приятно иметь несколько различных свойств, таких как один для развития и один для производства. Это помогает избежать загрязнения производственной недвижимости с данными из вашей команды разработки (или вы), покидая приложение.

Настройка частичных переменных

Давайте вернемся к нашему webpack.config.js Файл и настроить переменную для передачи идентификатора нашего свойства в:

...
plugins: [
  new HtmlWebpackPlugin(),
  new HtmlWebpackPartialsPlugin({
    path: './path/to/src/partials/analytics.html'),
    location: 'head',
    priority: 'high',
    options: {
      ga_property_id: 'UA-XXXXXXXX-X'
    }
  })
...

Далее обновите свой Analytics.html Файл Чтобы распознать это значение. Подобно html WebPack Plugin, частичные значения используют Шаблон Лодаш сделать эту работу. В Analytics.html :


Теперь скомпилируйте снова и прибыль!

Чтобы убедиться, что ваш тег соответственно настроен, я рекомендую проверить Google Pagter Assistant Доступно на Chrome.

Установка этого для разных идентификаторов свойств

Отсюда у вас есть несколько вариантов относительно того, как вы управляете своими разными идентификаторами свойств. Ты можешь:

Установка этого способа даст вам возможность динамически запускать свойства между вашим местным развитием и производством. Просто помните, что не хранить файл ENV в Git, если вы собираетесь добавить конфиденциальные данные. ?

Так что же мы выходим из этого?

Идеальный сценарий вы берете это и бегу с ним до конца вашего HTML, живущего в index.html Отказ Это помогает разделить свой код на более управляемые кусочки, и позволяет WebPack генерировать файл для вас, а не пытаться переопределить и управлять этим самостоятельно.

Специально для Google Analytics у нас есть несколько преимуществ:

  • Обеспечение фрагментации загружается в надежное местоположение
  • Предоставление более разумного способа поддерживать сам фрагмент
  • Управление идентификатором вашего свойства через конфигурацию WebPack
  • И бонус: загружая его как переменная ENV через ваш конфигурацию WebPack

Чтобы увидеть полное решение с примером кода, Проверьте пример в репо GitHub.

Первоначально опубликовано https://www.colbyfayock.com/2018/08/reliable-and-maintainable-google-analytics-in-webpack .