Волшебство не делается в Visual Studio. Волшебство сделано в .NET.
Именно поэтому вы можете создавать и разрабатывать проекты ASP.NET Core Angular на Mac с использованием VS Code или даже vim!
Чтобы упростить, ASP.NET Core выполняет следующие действия:
- В процессе разработки они перенаправляют все URL-адреса на вывод
ng serve
, но это происходит после добавления всех маршрутов, чтобы URL-адреса, отправляемые на контроллеры, все равно работали
- В работе они перенаправляют эти URL-адреса в статический обработчик файлов, который просматривает папку
dist
, в которую добавляется результат ng build
.
Код не полностью скрыт от вас.
См. Файл Startup.cs
из шаблона проекта , который я использовал в качестве источника выше.
Они также используют службы узлов ASP.NET (взаимодействие узлов .NET <->) для реализации рендеринга на стороне сервера. Это означает, что если вы используете это, вам нужен Node на сервере. Подробнее см. Документы по рендерингу на стороне сервера .
На той же странице документов также указано, как у них есть дополнительный прокси-сервер для разработки на случай, если вы захотите запустить ng serve
вручную, который просто проксирует (отправляет) все URL-адреса (после того, как все маршруты проверены на URL-адрес и не совпадают) на сервер разработки Angular.