Size: a a a

Angular-universal-ru

2017 December 22

ИК

Игорь Кравченко in Angular-universal-ru
принял
источник

R

RabbitRun in Angular-universal-ru
скажите, есть ли корректный способ на сервере в APP_INITIALIZER получить данные, асинхронно, и пробросить их на клиентское приложение?
источник

ИК

Игорь Кравченко in Angular-universal-ru
RabbitRun
скажите, есть ли корректный способ на сервере в APP_INITIALIZER получить данные, асинхронно, и пробросить их на клиентское приложение?
не понял о чем
источник

R

RabbitRun in Angular-universal-ru
грубо говоря, в app_initializaer на сервере получается токен, который потом юзается в ряде сервисов. Этот же токен необходимо прокинуть в браузер
источник

ИК

Игорь Кравченко in Angular-universal-ru
RabbitRun
грубо говоря, в app_initializaer на сервере получается токен, который потом юзается в ряде сервисов. Этот же токен необходимо прокинуть в браузер
ну сейчас так работает запрос данных с бэкенда, смотри исходники и использование transferState
источник

R

RabbitRun in Angular-universal-ru
я так понимаю, что чтобы нечто из асинхронного запроса попало в state и запрос не выполнялся дважды (на сервере и клиенте), нужно его выполнять через обертку над HttpClient - HttpTransfer. Там же, судя по коду, происходит сеттинг в HttpState (и забор из него). Однако при попытке заюзать HttpTransfer внутри app_initializer - получаем на выходе выполнение всех запросов на странице дважды. Что очень странно.
источник

R

RabbitRun in Angular-universal-ru
дважды - на клиенте и сервере
источник

R

RabbitRun in Angular-universal-ru
хотя state приходит вроде как верный
источник

ИК

Игорь Кравченко in Angular-universal-ru
RabbitRun
я так понимаю, что чтобы нечто из асинхронного запроса попало в state и запрос не выполнялся дважды (на сервере и клиенте), нужно его выполнять через обертку над HttpClient - HttpTransfer. Там же, судя по коду, происходит сеттинг в HttpState (и забор из него). Однако при попытке заюзать HttpTransfer внутри app_initializer - получаем на выходе выполнение всех запросов на странице дважды. Что очень странно.
смотреть надо, делай форк, добавляй код и кидай ишью) Как вариан добавь логирование при запросе параметров и смотри что в браузере и на сервере
источник

s

sanqa in Angular-universal-ru
дайте совет плз, накатить с чистого листа ssr в проект или вольпользоваться вашим репозиторием и выдергивать кусками ?
источник

s

sanqa in Angular-universal-ru
как смержить их ?)
источник

ИК

Игорь Кравченко in Angular-universal-ru
sanqa
дайте совет плз, накатить с чистого листа ssr в проект или вольпользоваться вашим репозиторием и выдергивать кусками ?
Для переноса ssr в свой репозиторий вам необходимы файлы:
- .angular-cli.json
- server.ts
- webpack.config.js
- main.server.ts
- main.browser.ts
- modules/*
- forStorage/*
- environments/*
- app.browser.module.ts
- app.server.module.ts
источник

s

sanqa in Angular-universal-ru
чет не пойму)
источник

s

sanqa in Angular-universal-ru
спулил вашу репу, поставил туда рамду
источник

s

sanqa in Angular-universal-ru
все запустилось
источник

ИК

Игорь Кравченко in Angular-universal-ru
источник

s

sanqa in Angular-universal-ru
а у меня нет(
источник

s

sanqa in Angular-universal-ru
парни сделал npm i preboot,
импорчу - import { BrowserPrebootModule } from 'preboot/browser'; и ServerPrebootModule но выдает ошибку типо таких модулей нет
источник

ИК

Игорь Кравченко in Angular-universal-ru
tsconfig.json
"include": [
   "src/**/*",
   "node_modules/preboot/browser.ts"
 ],
источник

ИК

Игорь Кравченко in Angular-universal-ru
есть?
источник