使用Angular 7.0.3
(但是我认为这是从版本2开始发生的?),如果在运行时发生未捕获的错误,则应用程序将中断并导致重定向回index.html
中指定的基本URL
理想情况下,如果遇到错误,我想让用户停留在现有页面上,并允许他们继续浏览应用程序 ,而不必启动从基本网址中获取。
我正在使用延迟加载的功能模块,并且具有类似于本tutorial中所提供服务的书面服务,并具有专用的error.component.ts
组件,并且两者都具有:
{ path: "error", loadChildren: () => ErrorModule }
和
{ path: "**", loadChildren: () => ErrorModule }
在基本app-routing.module.ts
文件中。
对于测试极度简化的情况,该教程中的example链接了捕获 客户端错误,但仅提供了error.component.ts
视图,并可以选择返回首页。
我的项目设置为使用及时编译而不是AOT。例如,如果我使用ng build --watch --fork-type-checker
构建了项目,并且从任何组件模板中删除了结束</div>
,那么当导航到该组件的目录时,应用程序将出错并将用户重定向到基本URL网址。
是否有一种方法可以使用AOT捕获 这类错误,而无需将用户重定向回基本URL?