Nelle applicazioni reali, tipicamente non sfruttiamo solo il runtime .NET, ma ci troviamo a lavorare anche con progetti npm, basati sul runtime di Node.js.
.NET Apire ci fornisce gli strumenti per gestire anche questa casistica, e mai come in questo caso, è di enorme aiuto per capire il contesto in cui gira l'applicazione e i log della console.
Per riuscire a creare una comunicazione tra questi due mondi, avremo bisogno del pacchetto NuGet Aspire.Hosting.NodeJs, che fornirà i metodi necessari per far dialogare l'ecosistema di .NET aspire con l'applicazione Node.js.
// progetto AppHost - program.cs
builder.AddNpmApp("frontend-app", "../percorso-cartella-package-json")
.WithEndpoint(port: 5174, scheme: "http", env: "PORT")
// opzionale
.WithArgs(new[] { "run", "dev" });Nel Program.cs abbiamo specificato il percorso del codice sorgente, l'endpoint verso cui l'applicazione verrà servita e, come in questo caso, se lo script di avvio non coincide con 'npm start' o 'npm run start', un nostro comando di partenza: npm run dev.
Eseguito il progetto .NET Aspire noteremo nella dashboard principale una nuova riga, corrispondente all'applicazione Node.js, per la quale avremo, oltre ad una console integrata per gli output durante lo sviluppo, una schermata di dettaglio dove vedere tutti i riferimenti, i controlli di integrità e le variabili di ambiente applicate.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Semplificare i deployment con le label in Azure Container App
Raggruppare risorse in .NET Aspire
Importare un servizio esterno in .NET Aspire
Blue/Green Release in locale con .NET Aspire
Esporre un server MCP esistente con Azure API Management
Gestire gli errori nelle Promise JavaScript con try()
Filtrare i dati in ASP.NET Core usando OpenTelemetry su Azure Monitor
Controllare la velocità di spostamento su una pagina HTML
Gestire il ciclo di vita di AbortController in Javascript
Evidenziare una porzione di testo in un pagina dopo una navigazione
Utilizzare ExecuteUpdate per aggiornare colonne JSON in Entity Framework
Analizzare il contenuto di una issue con GitHub Models e AI


