Angular 6,AOT编译的版本引发TypeError:仅当托管在Amazon S3上时,o.ngOnDestroy才是函数

时间:2018-08-16 07:23:07

标签: angular amazon-s3

我有一个Angular 6应用程序,它几乎可以在几乎所有环境中正常工作:

  • 使用ng serve
  • 使用ng build --aot --prod进行编译,并使用http-server在本地托管
  • ng build --aot --prod编译并由Apache托管在远程服务器上

现在,我仅在从S3存储桶托管和提供服务时遇到问题:在应用程序中浏览,找到某个路径然后尝试返回另一路径时,出现以下异常:

ERROR Error: Uncaught (in promise): TypeError: o.ngOnDestroy is not a function
TypeError: o.ngOnDestroy is not a function
    at Pl (core.js:9510)
    at Sl (core.js:9478)
    at kl (core.js:9468)
    at ra (core.js:10525)
    at sa (core.js:10651)
    at aa (core.js:10594)
    at ra (core.js:10523)
    at sa (core.js:10651)
    at la (core.js:10573)
    at ra (core.js:10524)
    at Pl (core.js:9510)
    at Sl (core.js:9478)
    at kl (core.js:9468)
    at ra (core.js:10525)
    at sa (core.js:10651)
    at aa (core.js:10594)
    at ra (core.js:10523)
    at sa (core.js:10651)
    at la (core.js:10573)
    at ra (core.js:10524)
    at P (zone.js:814)
    at P (zone.js:771)
    at zone.js:873
    at e.invokeTask (zone.js:421)
    at Object.onInvokeTask (core.js:3803)
    at e.invokeTask (zone.js:420)
    at t.runTask (zone.js:188)
    at d (zone.js:595)
    at t.invokeTask [as invoke] (zone.js:500)
    at k (zone.js:1540)

没有网络错误,所有资产的加载方式与本地托管和Apache托管时相同。

我试图通过在angular.json中启用源映射生成来获得人类可读的堆栈跟踪,但也没有成功。

这里有没有人知道S3托管如何以这种方式影响我的Angular应用程序?

更新:当问题出现在注释中时,这是我要离开的组件的实际(非常原始的)代码。据我所知,其中没有任何东西会导致该行为:

import {Component, OnInit} from '@angular/core';

@Component({
  selector: 'app-about',
  templateUrl: './about.component.html',
  styleUrls: ['./about.component.scss']
})
export class AboutComponent implements OnInit {

  constructor() { }

  ngOnInit() {
  }

}

更新2 :我正在使用Angular 6.0.7。

更新3 :此问题被标记为可能重复:TypeError - o.ngOnDestroy is not a function。我认为情况并非如此。在链接的问题中,每次构建和打开应用程序时,用户都会遇到问题。我只在某些托管环境上遇到问题。

0 个答案:

没有答案