Ответ 1
Решение было легким.
Шаг 1: я создал файл под названием "analytics.js" и поместил код между тегами script. Не требуется преобразование в синтаксис jade.
Шаг 2: я ссылался на script из нефритового файла
script(src='/js/analytics.js')
Я хочу отслеживать пользователей моего веб-сайта. Так как у меня нет старомодного HTML файла, следует ли адаптировать данный код к синтаксису нефрита или я могу оставить script нетронутым и каким-то образом включить его?
В случае, если мне нужно преобразовать его в синтаксис jade, это может быть сгенерировано с помощью некоторого инструмента.
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXXXXX-X', 'domain.com');
ga('send', 'pageview');
</script>
Решение было легким.
Шаг 1: я создал файл под названием "analytics.js" и поместил код между тегами script. Не требуется преобразование в синтаксис jade.
Шаг 2: я ссылался на script из нефритового файла
script(src='/js/analytics.js')
Вместо того, чтобы искать другой файл кода и загружать его. Inline (как предложил Тревор лучше).
Для этого вам нужно использовать тег script.
.... не просто script
См. ниже:
script.
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-11111111-1', 'yourdomain.com');
ga('send', 'pageview');
Убедитесь, что интервал и т.д. на самом деле отступы от одной вкладки от вашего материала.
Как уже говорилось выше, рекомендуется добавить встроенный в ваши файлы фрагменты GA, так как фрагмент GA на самом деле вызовет другой файл (www.google-analytics.com/analytics.js), так что это немного GET еще один js файл, который затем GET Google.
Однако, если вы хотите, чтобы ваш layout.jade был чистым (и вам нужно), вы можете поместить фрагмент кода BROGERS (тот, который начинается с "script." ), в отдельном файле, вызов это googleAnalytics.jade, а в вашем layout.jade просто включите:
include partials/googleAnalytics
(конечно, частичные - это способ, которым я размещаю свои представления, что до вас)
Это будет означать, что фрагмент GA будет включен в ваши страницы на сервере, сохраняя дополнительный GET, но сохраняя при этом ваш макет. jade nice и tidy.
Теперь это мопс. Тем не менее. Вы можете просто включить файл .html со всем кодом Google Analytics.
include includes/google_analytics.html
Если вы все еще хотите добавить его встроенным способом, здесь суть, я использую 4 пробела, для отступа, назовите его так +ga('yourid12345')
Также есть pug google analytics mixin, который выведет скрипт, который вы можете найти в шаблоне HTML5.
Обновление GTag 2019 года
Традиционный сценарий GA заменен этим новым сценарием GTAG
script(async='', src='https://www.googletagmanager.com/gtag/js?id=UA-11111111-1')
script.
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-11111111-1');