Из документов:
Например, ваша серверная страница не может ссылаться на собственные объекты браузера, такие как окно, документ, навигатор или местоположение. Если они вам не нужны на странице, отображаемой сервером, вы можете обойти их с помощью условной логики. В качестве альтернативы вы можете найти внедряемую абстракцию Angular для нужного вам объекта, такого как Location или Document; он может адекватно заменить конкретный API, который вы вызываете. Если Angular его не предоставляет, вы можете написать свою собственную абстракцию, делегирующую API браузера в браузере и удовлетворительную альтернативную реализацию на сервере.
Имеет смысл, что сервер не может получить доступ к объектам браузера. Но этого можно добиться:
В качестве альтернативы вы можете найти внедряемую абстракцию Angular для нужного вам объекта, такого как Location или Document; он может адекватно заменить конкретный API, который вы вызываете.
Следующий:
Если Angular его не предоставляет, вы можете написать свою собственную абстракцию, делегирующую API браузера в браузере и удовлетворительную альтернативную реализацию на сервере.
Где я могу найти, какие из них предоставляет Angular и как их использовать? Я специально ищу навигатор.
Если навигатор не предоставляется Angular, как я могу написать свою собственную абстракцию?
Боковой узел: я использовал ng add @nguniversal/express-engine --clientProject angular.io-example
, чтобы начать работу с ssr.
navigator
. - person ConnorsFan   schedule 24.10.2018