Поиск по сайту
Ctrl + K
Вопросы по Angular

Как создать App Shell в Angular?

С помощью App Shell можно значительно улучшить время загрузки приложения, так как он позволяет предварительно рендерить часть приложения на стороне сервера. Это идеальный подход для улучшения SEO и уменьшения времени, необходимого для отображения контента. В этом ответе мы рассмотрим, как создать App Shell в Angular.

Шаг 1: Установите Angular Universal

Для создания App Shell в Angular необходимо использовать Angular Universal. Для этого сначала нужно установить необходимые пакеты. Выполните следующую команду:

ng add @nguniversal/express-engine

Эта команда настроит ваше приложение для рендеринга на сервере и добавит необходимые зависимости.

Шаг 2: Создание App Shell

После установки Angular Universal, вы можете создать App Shell с помощью следующей команды:

ng generate @nguniversal/express-engine:app-shell

Эта команда создаст специальный механизм для рендеринга "шела" вашего приложения.

Шаг 3: Показать App Shell

Далее, вам нужно настроить ваше приложение для использования App Shell. Вам потребуется изменить вашу конфигурацию маршрутов и разметку компонент, чтобы отображать заглушку для контента при первой загрузке.

Изменение маршрутов

Убедитесь, что ваши компоненты правильно работают с маршрутизацией. Вы можете использовать router-outlet в corace.html чтобы отобразить контент в зависимости от маршрута.

<router-outlet></router-outlet>

Изменение разметки компонента

В вашем главном компоненте, вы можете использовать разметку, которая будет отображаться до полной загрузки приложения:

<div *ngIf="!isLoading; else loading">
  <!-- Контент приложения здесь -->
</div>
<ng-template #loading>
  <div>Загрузка...</div>
</ng-template>

Шаг 4: Сборка приложения

Теперь вы готовы собрать приложение с помощью Angular Universal. Выполните следующую команду в терминале:

npm run build:ssr && npm run serve:ssr

Эта команда соберет приложение и запустит его на сервере, и теперь вы сможете увидеть ваше App Shell в действии!

Заключение

Теперь вы знаете, как создать App Shell в Angular для улучшения производительности вашего приложения. Это значительно ускорит загрузку и улучшит пользовательский опыт, особенно для пользователей с медленным интернет-соединением. Не забывайте тестировать ваши изменения и убедитесь, что ваше приложение работает корректно как на клиенте, так и на сервере!