Думаю, должен быть простой сценарий; иметь
- Angluar 8 SPA
- ASP. NET Core 3.1 Web API
Хотите развернуть на Windows сервере с IIS. Прочтите: Хост ASP. NET Ядро на Windows с IIS
Хотите с рекомендованным значением по умолчанию Модель внутрипроцессного хостинга
Но как совместить Angular SPA и. net core web api? Я могу заставить веб-api нормально работать на новом сайте в файлах обслуживания IIS из вывода publi sh, но где разместить мой SPA?
- Mix Angular, встроенный с publi sh output?
- Создать дополнительное приложение для веб-API, но затем IIS добавляет псевдоним, чтобы мои маршруты, такие как
api/blah
, стали alias/api/blah
- Использовать другую модель хоста и прокси-сервер для сервера Kestrel, работающего на другом порту ?
- Какой-то wwwroot каталог для перенаправления, чтобы переход на веб-сайт служил SPA оттуда?
Я вижу, используется ли шаблон Angular для создания решения, он создает ClientApps/dist
dir, возможно, можно воссоздать проект с этим шаблоном, а затем выгрузить сборку Angular в этот каталог при развертывании (поскольку проект Angular разработан в отдельном репо).
// In production, the Angular files will be served from this directory
services.AddSpaStaticFiles(configuration =>
{
configuration.RootPath = "ClientApp/dist";
});