Angular 6: возможно ли многостраничное приложение (MPA)?

Проведя целый день в Google, мой вопрос остался без ответа.

Поскольку я новичок в создании приложения Угловой с использованием версии 6.0.4. мой первый и простой вопрос:

  1. Можно ли настроить приложение Angular с многоуровневыми целевыми страницами?

    Пример: без отображения ссылок на верхней панели навигации корневой страницы мне нужны прямые ссылки на эти страницы, где у пользователей есть свои собственные различные меню. например: WordPress / админ-панель отличается от своего веб-сайта.

    • /home для публичного просмотра
    • /admin для админки после входа в систему
    • /customer для раздела клиентов после входа в систему

это потому, что я обнаружил, что есть только один файл app.component.html, в который мы можем включать наши компоненты, используя маршрутизацию, но со статической панелью навигации вверху.

  1. Если не:

    Как запустить несколько приложений, созданных для всех трех разделов, которые можно запускать под одним и тем же url:port?

angular.io/guide/router
Christian 10.06.2018 19:23

@Christian Я не хочу, чтобы верхняя панель навигации указывала на страницы / home, / admin, / customer. это должна быть прямая ссылка на их отдельные страницы, где у них есть разные меню. Например: WordPress / админ-панель

Amit Shah 10.06.2018 20:06

Это можно сделать, создав отдельные модули для каждого пользователя и отложив загрузку модуля на основе пользователя. В этом случае конечный пользователь получит файлы только для этого конкретного модуля. Сообщите мне, требуется ли образец кода.

Tarun Khurana 27.02.2019 06:56
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
18
3
27 345
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

1) Да, есть. Это называется маршрутизацией, и у angular есть довольно хороший учебник по маршрутизации. Проверьте это здесь - угловой маршрутизатор

2) Прежде чем приступить к разработке веб-приложений, вы должны иметь хотя бы минимальные знания о том, как работает TCP / IP. Все очень просто - вы не можете запускать несколько приложений на одном и том же порту.

Во-первых, спасибо за ответ. Но вы на самом деле не поняли мой вопрос. Я не хочу открывать панель навигации корневого уровня для конечного пользователя, который переключается между / home, / admin и / customer. Мне нужен прямой URL-адрес их собственных целевых страниц, и там у них будут свои собственные меню в соответствии с их зарегистрированной ролью. Во-вторых, я очень хорошо знаю TCP / IP, и поэтому сомневаюсь, как я могу запускать разные приложения Angular на одном и том же URL: порту, если у меня есть 3 разных приложения для / home, / admin, / customer.

Amit Shah 10.06.2018 19:59
Ответ принят как подходящий

SOLVED

Следуя этому: https://angular.io/guide/lazy-loading-ngmodules

ПРИМЕЧАНИЕ: в конце должен закомментировать кнопки навигации в app.component.html

<!--
<h1>
  {{title}}
</h1>

<button routerLink = "/customers">Customers</button>
<button routerLink = "/orders">Orders</button>
<button routerLink = "">Home</button>
-->

<router-outlet></router-outlet>

Другие вопросы по теме