При использовании ng serve
вы создаете внутреннюю среду nodejs с веб-сервером для обработки запросов к вашему угловому приложению. Это отлично подходит для перезагрузки и быстрого запуска при разработке. Но такие статические страницы не нужны.
В конце концов, Angular - это просто фреймворк, рассказывающий вам о том, как построить SPA. Независимо от того, какую платформу или библиотеку вы используете, вы всегда будете получать index.xxx, файлы Javascript и другие файлы ресурсов от поставщиков или изнутри. Только эти вопросы относятся к браузеру, загружающему веб-страницу.
Следовательно, вам нужно создать приложение для генерации статических файлов, которые будут обслуживаться (т.е. ng build --prod
). Тогда у вас есть 2 хороших варианта:
- Выберите веб-сервер, который будет обслуживать файлы (например, nginx) на выделенном сервере (или даже контейнере).
- Поместите файлы за провайдером CDN. Поскольку они статичны, они будут кэшироваться и отправляться браузеру, запрашивающему их в зависимости от его местоположения.
Я бы предпочел № 2 вместо того, чтобы # 1 заставлять вас продолжать использовать ресурсы (ЦП, ОЗУ, HDD) для файлов, которые будут запрашиваться не так часто. Я говорю не часто, потому что ваш SPA будет обрабатывать все маршруты внутри себя в браузере клиента (и минимум один раз в день будет запрашивать обновление кэша).