Trabalhando com serviços de spa no .NetCore 3.0?

9

Desenvolvo aplicações web SPA usando ASP.Net Core React + Redux.

Após a atualização para o .Net Core 3.0, vejo que UseWebpackDevMiddleware e AddNodeServices estão obsoletos.

Aprendo o novo modelo de projeto React + Redux, mas ele não usa webpack ou SSR.

1) Onde posso encontrar exemplos ou informações de trabalho com o webpack no .Net Core 3.0? com o UseWebpackDevMiddleware foi muito fácil configurar o HMR e o webpack build.

2) Onde posso encontrar exemplo ou informações sobre SSR com o .Net 3.0 + React?

alex
fonte

Respostas:

4

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 aspnetcore3examinei os vários modelos fornecidos no Visual Studio. Atualmente, os modelos são Angulare são Reactusados aspnetcore3.

Antes disso, existem modelos para Angular, Reacte 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

  1. Abrir pasta spa-apps\aurelia-cli\e1\aurelia-appemVSCode
  2. Abra o project.csprojemVS2019
  3. Abra um terminal, VSCodeexecute npm start -- --hmre aguarde a saída ser concluída.
  4. 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

Andez
fonte