Sinto que estou no mesmo barco que você !!! Tendo passado a última semana ou mais desde o lançamento oficial do dotnetcore3, tentei colocar em funcionamento algo que usa uma estrutura SPA.
Dado que não houve respostas para isso, estou interessado em executar os serviços de SPA, pois aspnetcore3
examinei os vários modelos fornecidos no Visual Studio. Atualmente, os modelos são Angular
e são React
usados aspnetcore3
.
Antes disso, existem modelos para Angular
, React
e também Aurelia
. Para mim, Aurelia parece ótimo - ligações de texto datilografadas com baunilha. Então, eu estou tentando seguir esse caminho.
Eu consegui HMR
(Hot Module Replacement) funcionar. Eu construí um projeto Aurelia usando a CLI. No entanto, meu projeto tem muita configuração e ainda estou aprendendo WebPack
. Atualmente, o HMR não funciona com o Aurelia CSS.
Para o meu cenário, eu tinha o aplicativo cliente carregado no VS Code. Eu criei um projeto principal do aspnet que é conectado ao webpack.
Sei que você está perguntando especificamente sobre o React, mas o conceito pode ser o mesmo.
Algum código
Você pode encontrar meu código aqui:
https://github.com/andez2000/spa-apps/tree/master/aurelia-cli/e1/aurelia-app
NOTA: Atualmente, estou apenas despejando coisas neste repositório. Existem projetos criados a partir dos modelos se você navegar para o nível superior.
Uso
- Abrir pasta
spa-apps\aurelia-cli\e1\aurelia-app
emVSCode
- Abra o
project.csproj
emVS2019
- Abra um terminal,
VSCode
execute npm start -- --hmr
e aguarde a saída ser concluída.
- Compile e execute a solução em
VS2019
Isso deve abrir o navegador padrão e carregar o index.ejs.
Coisas a observar
Os números de porta no projeto dotnet e no projeto aurelia devem ser vinculados.
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"
},
Então, talvez isso seja conceitualmente o mesmo que Reagir. Por alguma razão, meu modelo do React falha ao conectar-se ao IIS Express - e funcionou no outro dia -, portanto, não estou em condições de cavar.
Para mim, este projeto tem muitas partes móveis. Eu gostaria de ter uma solução de trabalho mínima - que inclui webpack + scss + alguma estrutura de spa + dotnetcore3. Mas há uma tonelada de configuração e muitos arquivos.
Outros links
Também pode valer a pena conferir este post do blog:
https://www.alexdresko.com/2019/07/09/htmlwebpackplugin-asp-net-core-3/
Leia mais sobre aurelia aqui:
https://aurelia.io/
Espero que alguém lhe dê uma resposta melhor - mas isso pode ajudá-lo. Espero que a Microsoft atualize os documentos e exemplos e nos forneça algumas orientações melhores.
atualizações do modelo dotnet (abril de 2020)
Espero que os modelos atualizados possam superar as diferenças de núcleo do aspnet / dotnet com o webpack. Então, espero que seja um caso de atrair novos modelos.
Veja aqui:
https://github.com/NetCoreTemplates/aurelia-spa