¿Trabaja con servicios de spa en .NetCore 3.0?

9

Desarrollo aplicaciones web SPA usando ASP.Net Core React + Redux.

Después de actualizar a .Net Core 3.0, veo que UseWebpackDevMiddleware y AddNodeServices está obsoleto.

Aprendo la nueva plantilla de proyecto React + Redux, pero no es usar webpack o SSR.

1) ¿Dónde puedo encontrar ejemplos o información de trabajo con webpack en .Net Core 3.0? con UseWebpackDevMiddleware fue realmente fácil configurar HMR y la construcción de paquetes web.

2) ¿Dónde puedo encontrar ejemplos o información sobre SSR con .Net 3.0 + React?

alex
fuente

Respuestas:

4

¡Siento que estoy en el mismo bote que tú! Después de pasar la última semana más o menos desde el lanzamiento oficial de dotnetcore3, he intentado poner en funcionamiento algo que utilice un marco SPA.

Dado que no ha habido respuestas para esto y estoy ansioso por poner en funcionamiento los servicios de SPA, aspnetcore3he examinado las diversas plantillas proporcionadas en Visual Studio. Actualmente las plantillas son Angulary Reactque usan aspnetcore3.

Antes de esto hay plantillas para Angular, Reacty también Aurelia. Para mí, Aurelia se ve genial: enlaces tipográficos de vainilla. Así que estoy tratando de seguir ese camino.

Me las arreglé para que HMRfuncione (Hot Module Replacement). Construí un proyecto Aurelia utilizando la CLI. Sin embargo, mi proyecto tiene mucha configuración y todavía estoy aprendiendo WebPack. HMR no funciona actualmente con Aurelia CSS.

Para mi escenario, tenía la aplicación cliente cargada en VS Code. Creé un proyecto básico de aspnet que luego se engancha en el paquete web.

Sé que estás preguntando específicamente sobre React, pero el concepto podría ser el mismo.

Algun codigo

Puedes encontrar mi código aquí:

https://github.com/andez2000/spa-apps/tree/master/aurelia-cli/e1/aurelia-app

NOTA: Actualmente solo estoy volcando cosas en este repositorio. Hay proyectos creados a partir de las plantillas si navega al nivel superior.

Uso

  1. Abrir carpeta spa-apps\aurelia-cli\e1\aurelia-appenVSCode
  2. Abre el project.csprojenVS2019
  3. Abra una terminal VSCodey ejecútela npm start -- --hmry espere a que se complete la salida.
  4. Compile y ejecute la solución en VS2019

Esto debería abrir el navegador predeterminado y cargar index.ejs.

Cosas a tener en cuenta

Los números de puerto en el proyecto dotnet y el proyecto aurelia deben vincularse.

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"
  },

Entonces, quizás esto sea conceptualmente lo mismo que React. Por alguna razón, mi plantilla React no se conecta a IIS Express, y funcionó el otro día, por lo que no estoy en condiciones de ir a cavar.

Para mí, este proyecto tiene muchas partes móviles. Desearía tener una solución de trabajo mínima, que comprenda webpack + scss + algún marco de spa + dotnetcore3. Pero hay una tonelada de configuración y muchos archivos.

Otros enlaces

También podría valer la pena revisar esta publicación de blog:

https://www.alexdresko.com/2019/07/09/htmlwebpackplugin-asp-net-core-3/

Lea más sobre aurelia aquí:

https://aurelia.io/

Esperemos que alguien le dé una mejor respuesta, pero esto podría ayudarlo. Esperemos que Microsoft actualice los documentos y ejemplos y nos brinde una mejor orientación.

actualizaciones de plantillas de dotnet (abril de 2020)

Espero que las plantillas actualizadas puedan superar las diferencias entre aspnet core / dotnet core con webpack. Así que espero que sea un caso de incorporar nuevas plantillas.

Mira aquí:

https://github.com/NetCoreTemplates/aurelia-spa

Andez
fuente