使用HTTPInterceptor时无法在服务器上访问翻译文件

时间:2019-10-29 14:47:36

标签: angular angular7 angular-http-interceptors ngx-translate

我在Angular 7应用程序中使用ngx-translate进行翻译。它在本地工作正常。部署到服务器时,无法访问翻译文件 assets / i18n / en.json 。 我收到 HTTPErrorResponse 401,需要验证。

我注意到这是因为我正在使用HTTPInterceptor。

我正在使用以下代码:

  constructor(public authService: NbAuthService, public router: Router) {}
  intercept(
    request: HttpRequest<any>,
    next: HttpHandler
  ): Observable<HttpEvent<any>> {
    this.authService.getToken().subscribe(token => {
      request = request.clone({
        setHeaders: {
          Authorization: `Bearer ${token.getValue()}`
        }
      });
    });

    return next.handle(request).map(res => {
      if (res instanceof HttpResponse) {
        if (res.status === 204) {
          const result: any = res;
          result.body = { data: [] };
          return result;
        }
      }
      return res;
    });
  }

我可以为我的翻译文件禁用HTTPInterceptor吗?不需要身份验证,我也可以在服务器上打开文件。

在此先感谢您的提示!

0 个答案:

没有答案