Angular 7中使用XHook可能会导致"ERROR TypeError: Illegal invocation"错误。这是因为XHook内部使用了非法调用的函数。
要解决这个错误,可以通过以下步骤进行操作:
在你的项目中安装XHook库。可以使用npm进行安装:npm install xhook --save
打开polyfills.ts文件(通常位于src/polyfills.ts)并添加以下代码来修复非法调用的问题:
(window as any).XDomainRequest = undefined;
(window as any).ActiveXObject = undefined;
import 'xhook';
xhook.enable();
这样做后,应该就不会再出现"ERROR TypeError: Illegal invocation"错误了。
请注意,XHook库在Angular 7中可能不是最佳选择,因为它可能与Zone.js(Angular依赖的库)产生冲突。如果你遇到其他问题,可以考虑使用其他HTTP拦截器库,如Angular的HttpClient拦截器。