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
Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione
Introduzione alle Container Queries
Eseguire una ricerca avanzata per recuperare le issue di GitHub
Cancellare una run di un workflow di GitHub
Utilizzare Hybrid Cache in .NET 9
Ottenere un token di accesso per una GitHub App
Come EF 8 ha ottimizzato le query che usano il metodo Contains
Migliorare i tempi di risposta di GPT tramite lo streaming endpoint in ASP.NET Core
Filtrare i dati di una QuickGrid in Blazor con una drop down list
Cambiare la chiave di partizionamento di Azure Cosmos DB
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework
Utilizzare i variable font nel CSS
I più letti di oggi
- Creare agenti facilmente con Azure AI Agent Service
- Loggare le query più lente con Entity Framework
- Disabilitare le run concorrenti di una pipeline di Azure DevOps
- Rendere i propri workflow e le GitHub Action utilizzate più sicure
- Gestione degli eventi nei Web component HTML
- Fornire parametri ad un Web component HTML
- Utilizzare Hybrid Cache in .NET 9