Я чувствую, что я в той же лодке, что и вы!!! Проведя последнюю неделю или около того после официального выпуска dotnetcore3, я попытался создать и запустить что-то, использующее инфраструктуру SPA.
Учитывая, что на этот вопрос не было ответов, и я очень хочу, чтобы службы SPA работали для aspnetcore3
, я изучил различные шаблоны, поставляемые в Visual Studio. В настоящее время шаблоны Angular
и React
используют aspnetcore3
.
До этого есть шаблоны для Angular
, React
, а также Aurelia
. Для меня Аурелия выглядит великолепно — ванильные машинописные переплеты. Поэтому я пытаюсь пойти по этому пути.
Мне удалось заставить работать HMR
(горячая замена модуля). Я построил проект Aurelia, используя CLI. Однако в моем проекте много настроек, и я все еще изучаю WebPack
. В настоящее время HMR не работает с Aurelia CSS.
Для моего сценария клиентское приложение было загружено в VS Code. Я создал основной проект aspnet, который затем подключается к webpack.
Я знаю, что вы спрашиваете конкретно о React, но концепция может быть такой же.
Некоторый код
Вы можете найти мой код здесь:
https://github.com/andez2000/spa-apps/tree/master/aurelia-cli/e1/aurelia-app
ПРИМЕЧАНИЕ. В настоящее время я просто загружаю материал в этот репозиторий. Есть проекты, созданные из шаблонов, если вы перейдете на верхний уровень.
Применение
- Откройте папку
spa-apps\aurelia-cli\e1\aurelia-app
в VSCode
- Откройте
project.csproj
в VS2019
- Откройте терминал в
VSCode
и запустите npm start -- --hmr
и дождитесь завершения вывода.
- Скомпилируйте и запустите решение в
VS2019
Это должно открыть браузер по умолчанию и загрузить index.ejs.
Что следует отметить
Номера портов в проекте dotnet и проекте aurelia должны совпадать.
Startup.cs
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
...
app.UseSpa(spa =>
{
if (env.IsDevelopment())
{
spa.UseProxyToSpaDevelopmentServer("http://localhost:5000");
}
});
}
аурелия.json
"platform": {
"hmr": false,
"open": false,
"port": 5000,
"host": "localhost",
"output": "wwwroot/dist"
},
Так что, возможно, это концептуально то же самое, что и React. По какой-то причине мой шаблон React не может подключиться к IIS Express — и он работал на днях — так что на самом деле я не в состоянии копать.
Для меня в этом проекте много движущихся частей. Я хотел бы иметь минимальное рабочее решение, которое включает в себя webpack + scss + некоторую структуру spa + dotnetcore3. Но есть тонна конфигурации и много файлов.
Другие ссылки
Также, возможно, стоит проверить этот пост в блоге:
https://www.alexdresko.com/2019/07/09/htmlwebpackplugin-asp-net-core-3/
Подробнее об аурелии читайте здесь:
https://aurelia.io/
Надеюсь, кто-то даст вам лучший ответ, но это может помочь вам. Надеемся, что Microsoft обновит документы и примеры и предоставит нам лучшие рекомендации.
обновления шаблонов dotnet (апрель 2020 г.)
Я надеюсь, что обновленные шаблоны смогут преодолеть различия ядра aspnet/dotnet с webpack. Так что надеюсь, что дело в добавлении новых шаблонов.
Глянь сюда:
https://github.com/NetCoreTemplates/aurelia-spa
person
Andez
schedule
10.10.2019