2017-02-22 41 views
5

Обычно включая аналитику было вставить код отслеживания в тело html с идентификатором свойства и действием просмотра страницы. Я последовал ответ в Tracking Google Analytics Page Views in Angular2 и при выполнении ng serve это правильно включает в себя сценарий, но тогда при создании производства АОТА он не включен в индексе:Как включить Google Analytics в приложение Angular Cli

ng build --progress false --aot true -prod -e prod 

Что является лучшей практикой, чтобы включить Google Analytics или другое решение для отслеживания с Angular2 Cli?

Заранее спасибо

+1

Следуя предложению в проекте Angular Cli, нужно поставить скрипт вне корневого приложения, я включил его в https://github.com/angular/angular-cli/issues/4451#issuecomment- 281628623 – pdjota

+0

Это нормально, если код добавлен во внешний файл .js и связан через .angular-cli.json? –

ответ

2

Вы можете связать его с остальной частью ваших сценариев с помощью угловых CLI.

Поместите код аналитики Google в файл с именем примерно google-analytics.js. Убедитесь, что вы удалили теги сценария.

Затем в файле angular-cli.json добавьте файл google-analytics.js в scripts.

Вот пример того, как будет выглядеть код в angular-cli.json.

"scripts": [ 
    "google-analytics.js" 
], 

Этот фрагмент кода приведет к угловому кли расслоению использующего Google Analytics в файл с именем scripts.bundle.js, который загружается во время выполнения с помощью команды ng serve.

+3

, но как вы загружаете его только для производства? – vlio20

+1

И как вы можете изменить идентификатор отслеживания, если вы используете для тестирования/acc/prod? – Richh94

+0

Обходным решением может быть использование нескольких приложений в файле .angular-cli.json (https://github.com/angular/angular-cli/wiki/stories-multiple-apps). Приложение Dev включает файл google-analytics.dev.js, а приложение Prod включает google-analytics.prod.js. – Artjoman