Мне кажется, это тоже не сработает - даже угловой не поощряет такой подход - но у меня есть идея для этой проблемы
Непосредственно сопоставьте index.html
, сгенерированный из angular, с вашим контроллером, который просто вызовет ваш index.html
, и вы можете просто использовать угловые компоненты
Я надеюсь, что это поможет - пожалуйста, проверьте образец ниже
public IActionResult Index()
{
return PhysicalFile(Path.Combine(Directory.GetCurrentDirectory(),
"wwwroot", "index.html"), "text/HTML");
}
Ваш метод действия должен выглядеть следующим образом - непосредственно прочитайте index.html
и верните его как PhysicalFile()
из вашего контроллера
Наконец, откуда мы получаем это index.html
, когда вы создаете ваше Angular Application, оно переместит все ваши js
и css
в вашу папку сборки, сопоставленную с вашим angular.json
файлом - так что убедитесь, что путь к файлу и прочитайте index.html
файл
Мой outputPath
в angular.json
читается как:
"outputPath": "./wwwroot"
- это не традиционный способ запуска вашего приложения, для которого требуется как угловая сборка, так и сборка MVC для рендеринга страниц, но вы можете использовать его как обходной путь
Есть еще один способ добиться этого, если вы создаете угловой проект в .net core 2.0 ^ , вы получите угловой шаблон, в котором вы можете создать свое приложение - если вы это сделаете, он будет непосредственно отображать ваш угловой приложение, использующее spa
в .net core
На мой взгляд, не смешивайте свой угловой шаблон с бритвой cshtml
это не очень хорошая идея - создайте свое угловое приложение отдельно и используйте API для извлечения данных
Надеюсь, это поможет вам - Спасибо, Happy Coding !!