Quando creiamo un progetto con Angular-CLI, la struttura che viene generata contiene la variabile environment all'interno della quale andiamo a mettere i dati di configurazione. Quando poi creiamo la build, questa variabile viene inclusa nel pacchetto di output e non possiamo modificarla. Questo significa che quando dobbiamo modificare un parametro di configrazione della nostra applicazione dobbiamo eseguire un nuovo deploy. Spesso questa strada è impraticabile, quidni dobbiamo ricorrere ad altri meccanismi per recuperare i parametri di configurazione. La tecnica più usata è quella di ricorrere ad una chiamata ajax per scaricare un json.
Quest'operazione in genere viene eseguita allo startup ed è necessario che Angular ne aspetti la conclusione prima di avviare l'applicazione. Grazie al token di injection APP_INITIALIZERS possiamo iniettare il nostro codice all'interno della pipeline di startup e, restituendo una Promise o un Observable, fare in modo che la pipeline non prosegua fino alla risoluzione della promise o fino al primo messaggio dall'observable.
@NgModule({
providers: [
{ provide: APP_INITIALIZER, useFactory: initialize, multi: true, deps: [HttpClient] }
]
function initialize(http: HttpClient) {
return () => {
return http.get<Configuration>("/config.json")
.map(c => /*Processa configurazione*/);
}
}Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Eliminare record doppi in Sql Server
Interagire con Azure DevOps tramite MCP Server
Recuperare le subissue e il loro stato di completamento in GitHub
Controllare la telemetria con .NET Aspire
Autenticazione di git tramite Microsoft Entra ID in Azure DevOps
Utilizzare i variable font nel CSS
Usare la libreria PredicateBuilder per eseguire query tramite Entity Framework che usano or su più campi
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework
Integrare un servizio esterno con .NET Aspire
Pubblicare un MCP Server in GitHub MCP Registry
Ospitare n8n su Azure App Service
Abilitare automaticamente il force push di un gruppo su Azure DevOps
I più letti di oggi
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Sfruttare una CDN con i bundle di ASP.NET
- Inserire le news di Punto Informatico nel proprio sito
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Consumare dati binari in realtime lato client con ASP.NET Core SignalR
- Definire il colore di una scrollbar HTML tramite CSS


