Czuję, że jestem na tej samej łodzi co ty !!! Spędziłem mniej więcej tydzień od oficjalnej wersji dotnetcore3, starałem się uruchomić coś, co korzysta ze środowiska SPA.
Biorąc pod uwagę, że nie ma na to odpowiedzi i jestem zainteresowany uruchomieniem usług SPA, ponieważ aspnetcore3
zajrzałem do różnych szablonów dostarczonych w Visual Studio. Obecnie szablony są Angular
i React
które używają aspnetcore3
.
Wcześniej istnieją szablony Angular
, React
a także Aurelia
. Dla mnie Aurelia wygląda świetnie - waniliowe wiązania maszynowe. Więc próbuję zejść tą drogą.
Udało mi się uruchomić HMR
(wymianę modułu na gorąco). Zbudowałem projekt Aurelia za pomocą CLI. Jednak mój projekt ma wiele konfiguracji i wciąż się uczę WebPack
. HMR obecnie nie współpracuje z Aurelia CSS.
W moim scenariuszu aplikacja kliencka została załadowana w kodzie VS. Stworzyłem projekt rdzenia aspnet, który następnie łączy się z webpackiem.
Wiem, że pytasz konkretnie o React, ale koncepcja może być taka sama.
Trochę kodu
Mój kod możesz znaleźć tutaj:
https://github.com/andez2000/spa-apps/tree/master/aurelia-cli/e1/aurelia-app
UWAGA: Obecnie po prostu wrzucam rzeczy do tego repozytorium. Istnieją projekty tworzone na podstawie szablonów, jeśli przejdziesz na najwyższy poziom.
Stosowanie
- Otwórz folder
spa-apps\aurelia-cli\e1\aurelia-app
wVSCode
- Otwórz
project.csproj
wVS2019
- Otwórz terminal
VSCode
i uruchom npm start -- --hmr
i poczekaj na zakończenie danych wyjściowych.
- Skompiluj i uruchom rozwiązanie w
VS2019
Powinno to otworzyć domyślną przeglądarkę i załadować plik index.ejs.
Warto zwrócić uwagę
Numery portów w projekcie dotnet i projekcie aurelia muszą się wiązać.
Startup.cs
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
...
app.UseSpa(spa =>
{
if (env.IsDevelopment())
{
spa.UseProxyToSpaDevelopmentServer("http://localhost:5000");
}
});
}
aurelia.json
"platform": {
"hmr": false,
"open": false,
"port": 5000,
"host": "localhost",
"output": "wwwroot/dist"
},
Więc może jest to koncepcyjnie to samo co React. Z jakiegoś powodu mój szablon React nie łączy się z IIS Express - i zadziałał innego dnia - więc nie jestem w stanie zacząć kopać.
Dla mnie ten projekt ma wiele ruchomych części. Chciałbym mieć minimalne działające rozwiązanie - które zawiera webpack + scss + trochę środowiska spa + dotnetcore3. Ale jest mnóstwo konfiguracji i mnóstwo plików.
Inne linki
Warto również sprawdzić ten post na blogu:
https://www.alexdresko.com/2019/07/09/htmlwebpackplugin-asp-net-core-3/
Przeczytaj więcej o aurelii tutaj:
https://aurelia.io/
Mam nadzieję, że ktoś da ci lepszą odpowiedź - ale może cię to zachęcić. Mamy nadzieję, że Microsoft zaktualizuje dokumenty i przykłady oraz zapewni nam lepsze wskazówki.
Aktualizacje szablonu dotnet (kwiecień 2020)
Mam nadzieję, że zaktualizowane szablony mogą przezwyciężyć różnice rdzenia aspnet / rdzenia dotnet dzięki pakietowi webpack. Mam nadzieję, że chodzi o pobranie nowych szablonów.
Spójrz tutaj:
https://github.com/NetCoreTemplates/aurelia-spa