Универсальный угловой с REST API - PullRequest
0 голосов
/ 01 июля 2019

Я довольно новичок в Angular Universal (точнее, в универсальных веб-приложениях), и я вроде как с этим борюсь.У меня есть рабочий универсальный код ng7 с начальной загрузкой страницы, отображаемой на сервере Node, как в примере приложения.Мой вопрос: как насчет вызовов REST API, которые запускаются в браузере?Я знаю, что как только приложение загружается в браузере, оно ведет себя как обычное одностраничное приложение - браузер позаботится обо всем остальном.

Существует ли какой-либо метод, который позволяет:

  • запретить браузеру запускать запрос клиента http и каким-либо образом перенаправить их на сервер узла

или

  • каждый раз, когда браузер делает запрос клиента http, сервер Node должен просто повторно визуализировать те части DOM, которые могут повлиять на ответ

Я знаю, что это звучит нечетко, как ад, но у моего клиента есть проблема с «вкладкой сети» в браузере - он не хочет видеть все ответы JSON там из-за бизнес-логики проекта - скорее просто сделать рендер Nodeизменения DOM (что обычно является задачей браузера).Это вообще возможно?У меня есть несколько причин не делать этого, но в конце я должен сказать, что он в значительной степени прав: это не совсем рендеринг на стороне сервера, как только загружается начальная страница.

Заранее спасибо.

1 Ответ

0 голосов
/ 02 июля 2019

Просто чтобы уточнить, HTML, соответствующий начальному маршруту, генерируется динамически с angular universal и возвращается клиенту.Затем клиентское угловое приложение загружает и воспроизводит запросы API и создание компонента.

Чтобы предотвратить воспроизведение этих запросов API на начальной странице , можно использовать TransferState API.Это в основном кеширует ответы JSON в html страницы.Но это будет работать только для начального маршрута.Как только вы начнете навигацию по своему приложению, оно будет работать в обычном режиме, и вы получите данные JSON, видимые на вкладке сети.

...