我正在尝试使用window.location.hostname
在我的应用中实现拦截器。
在我的app.module
文件中,我正在提供此文件:
providers: [
AuthGuard,
AlertService,
AuthenticationService,
{ provide: Window, useValue: window },
...
然后我有一个名为api.interceptor.ts
的服务,看起来像这样:
@Injectable()
export class APInterceptor implements HttpInterceptor {
private window: Window;
private location: string;
constructor(@Inject(Window) private _window: any){
this.window = _window as Window;
this.location = this.window.location.hostname;
console.log('You are here: ', this.location);
}
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
应用程序中的所有内容都可以正常运行(我可以正确找到位置),但是当我尝试进行量产(使用ng build --configuration=production
时,会出现一个通配错误!:
ERROR in : Can't resolve all parameters for APInterceptor in /Users/foo/Desktop/my_project/src/app/_helpers/api.interceptor.ts: (?)
我已经安装并使用Madge来检查循环依赖关系,但是没有找到,因此我迷路了……
感谢您的帮助!