Uncaught ReferenceError: Cannot access 'GA' before initialization

Uncaught ReferenceError: Cannot access 'GA' before initialization

当我 运行 我的 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。但问题仍然存在。

对于这个问题,我发现这是由于从打字稿到 javascript 问题的一些编译。在 ng 构建之后,我已经设法通过在 javascript 手动初始化 GA(请注意这个 GA 会随着每次构建编译而动态变化)的变通方法解决这个问题。并且修复了。

Gitlab forum 上讨论了类似的问题。

进一步解释我的解决方案:

    var GA; // manually declared initializing here.
    return e.ngInjectableDef=ue({factory:function(){return new GA},token:GA,providedIn:"root"})