我有一个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。我认为情况并非如此。在链接的问题中,每次构建和打开应用程序时,用户都会遇到问题。我只在某些托管环境上遇到问题。