Uncaught ReferenceError: Невозможно получить доступ к GA перед инициализацией - PullRequest
0 голосов
/ 18 февраля 2020

Когда я запускаю приложение angular с помощью ng serve, оно работает. Однако, когда я развертываю (либо серверы Jboss, либо Tomcat) одно и то же приложение angular, оно выдает на консоли следующее:

Uncaught ReferenceError: Cannot access 'GA' before initialization
    at main-es2015.faddfe3f773581d6c95a.js:1
    at Module.zUnb (main-es2015.faddfe3f773581d6c95a.js:1)
    at l (runtime-es2015.c5fa8325f89fc516600b.js:1)
    at Object.0 (main-es2015.faddfe3f773581d6c95a.js:1)
    at l (runtime-es2015.c5fa8325f89fc516600b.js:1)
    at t (runtime-es2015.c5fa8325f89fc516600b.js:1)
    at Array.r [as push] (runtime-es2015.c5fa8325f89fc516600b.js:1)
    at main-es2015.faddfe3f773581d6c95a.js:1

Я использовал ng build --prod ---base-href=myapp для сборки моего модуля.

Что возможно, что-то пошло не так?

Необязательно: я уже пробовал "emitDecoratorMetadata": false на основе решения в другом потоке. Но проблема все еще сохраняется.

1 Ответ

0 голосов
/ 03 марта 2020

Для этой проблемы я выяснил, что это произошло из-за некоторой компиляции из машинописи в проблему javascript. Мне удалось исправить это с помощью обходного пути, просто инициализировав GA (обратите внимание, что GA динамически меняется с каждой компиляцией сборки) на javascript вручную после сборки ng. И это исправлено.

Подобная проблема обсуждалась на форуме Gitlab .

, в которой объяснялось мое решение:

    var GA; // manually declared initializing here.
    return e.ngInjectableDef=ue({factory:function(){return new GA},token:GA,providedIn:"root"})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...