¡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, aspnetcore3
he examinado las diversas plantillas proporcionadas en Visual Studio. Actualmente las plantillas son Angular
y React
que usan aspnetcore3
.
Antes de esto hay plantillas para Angular
, React
y 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 HMR
funcione (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
- Abrir carpeta
spa-apps\aurelia-cli\e1\aurelia-app
enVSCode
- Abre el
project.csproj
enVS2019
- Abra una terminal
VSCode
y ejecútela npm start -- --hmr
y espere a que se complete la salida.
- 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