Size: a a a

Angular-universal-ru

2019 July 08

ND

Nikita Dyshlenko in Angular-universal-ru
Vlad Bespalov
Всем привет!
Как заменить сервис на фейковый на стороне сервера? Он использует внутри либы, которые с SSR не особо совместимы (window и прочее там используется)
отнаследоватся от него, и в server.module запровайдить его используя useClass и написанный класс
источник

VB

Vlad Bespalov in Angular-universal-ru
Nikita Dyshlenko
отнаследоватся от него, и в server.module запровайдить его используя useClass и написанный класс
А как тогда от зависимостей избавиться внутри фейкового сервиса если он будет наследоваться от реального?
источник

VB

Vlad Bespalov in Angular-universal-ru
Проблема в импортах
источник

ND

Nikita Dyshlenko in Angular-universal-ru
Vlad Bespalov
А как тогда от зависимостей избавиться внутри фейкового сервиса если он будет наследоваться от реального?
переписать методы которые используют window
источник

ND

Nikita Dyshlenko in Angular-universal-ru
или же можно настроить window на ноде
источник

ND

Nikita Dyshlenko in Angular-universal-ru
источник

VB

Vlad Bespalov in Angular-universal-ru
Nikita Dyshlenko
переписать методы которые используют window
Либа использует внутри себя window, поэтому если есть импорт приложение падает, а на сервере этот сервис и не нужен, поэтому хочу явно отделить, а костыли по созданию window я как раз недавно выпилил чтобы попробовать разграничить все как надо)
Не совсем понимаю, если я перепишу методы то как это повлияет на импорты в классе родительском
источник

VB

Vlad Bespalov in Angular-universal-ru
Он скорее всего так же падать будет, ему же придется родителя разбирать
источник

VB

Vlad Bespalov in Angular-universal-ru
А мне надо прям разные сервисы сделать
источник

ИК

Игорь Кравченко in Angular-universal-ru
Vlad Bespalov
А мне надо прям разные сервисы сделать
видимо тебе не сервис а модуль мокать надо - https://github.com/Angular-RU/angular-universal-starter/tree/master/src/app/mock-server-browser
источник

VB

Vlad Bespalov in Angular-universal-ru
Вот что-то подобное искал, спасибо)
источник
2019 July 10

NK

Nika Kitaeva in Angular-universal-ru
Всем привет! После перехода на 8 ангуляр (юниверсел тоже обновила) при обработке  canActivate происходит такая ситуация - если на ssr возвращается false, то на клиентской части код уже не выполняется, происходит бесконечная попытка подгрузить страницу. На ssr возвращается false, тк там куки не работают и на прошлой версии ангуляра это не мешало при выполнении на клиентской стороне благополучно отобразить страницу. Пока подумываю прописать ssr только для конкретных страниц.  Исключив те что для зарегенных юзеров. И это вроде даже логично.
источник

NK

Nika Kitaeva in Angular-universal-ru
Но может есть еще идеи?))
источник

ИК

Игорь Кравченко in Angular-universal-ru
Nika Kitaeva
Всем привет! После перехода на 8 ангуляр (юниверсел тоже обновила) при обработке  canActivate происходит такая ситуация - если на ssr возвращается false, то на клиентской части код уже не выполняется, происходит бесконечная попытка подгрузить страницу. На ssr возвращается false, тк там куки не работают и на прошлой версии ангуляра это не мешало при выполнении на клиентской стороне благополучно отобразить страницу. Пока подумываю прописать ssr только для конкретных страниц.  Исключив те что для зарегенных юзеров. И это вроде даже логично.
было бы здорово увидеть форк от стартера с потворением данной проблемы.
источник

NH

Nikolai Harkusha in Angular-universal-ru
всем привет
есть интресептор
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
   const token = this.appStateService.token;
   const zendeskUrl = this.isZendeskUrl(request.url);
   if (!!token && !zendeskUrl) {
     request = request.clone({
       headers: request.headers.set('Authorization', `Bearer ${token}`)
     });
   }
   return  next.handle(request);
 }
Клиент и сервер собираются нормально
Но когда поднимается сервак и идет запрос на него, в итоге валится ошибка TypeError: Cannot read property 'token' of undefined at HttpTokenInterceptor****/token.interceptor.ts.HttpTokenInterceptor.intercept (***/dist/server.js:133896:42)
в чем может біть проблема?
источник

VV

Valera Vitkus in Angular-universal-ru
Всем привет, если юзаю SSR могу ли в блоке кода обернутом в
!isPlatformBrowser(platformId)
как-то заюзать nodejs для подключения файлика json в переменную из папки ?
источник

IK

ILshat Khamitov in Angular-universal-ru
Valera Vitkus
Всем привет, если юзаю SSR могу ли в блоке кода обернутом в
!isPlatformBrowser(platformId)
как-то заюзать nodejs для подключения файлика json в переменную из папки ?
да
источник

IK

ILshat Khamitov in Angular-universal-ru
Nikolai Harkusha
всем привет
есть интресептор
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
   const token = this.appStateService.token;
   const zendeskUrl = this.isZendeskUrl(request.url);
   if (!!token && !zendeskUrl) {
     request = request.clone({
       headers: request.headers.set('Authorization', `Bearer ${token}`)
     });
   }
   return  next.handle(request);
 }
Клиент и сервер собираются нормально
Но когда поднимается сервак и идет запрос на него, в итоге валится ошибка TypeError: Cannot read property 'token' of undefined at HttpTokenInterceptor****/token.interceptor.ts.HttpTokenInterceptor.intercept (***/dist/server.js:133896:42)
в чем может біть проблема?
appStateService.token - с этим чет нето, видножеж
источник

NH

Nikolai Harkusha in Angular-universal-ru
ILshat Khamitov
appStateService.token - с этим чет нето, видножеж
так у меня там возвращается или токен или null
может быть такое что стейт сервис не заинжектился?
источник

VV

Valera Vitkus in Angular-universal-ru
может подскажешь как ?
источник