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
Abilitare .NET 10 su Azure App Service e Azure Functions
Supportare la sessione affinity di Azure App Service con Application Gateway
Fornire parametri ad un Web component HTML
Configuratione e utilizzo .NET Aspire CLI
Disabilitare le run concorrenti di una pipeline di Azure DevOps
Utilizzare i command service nei test con .NET Aspire
Dallo sviluppo locale ad Azure con .NET Aspire
Utilizzare Intersect e Except per filtrare set di dati in TSql
Analizzare il contenuto di una issue con GitHub Models e AI
Importare repository da Bitbucket a GitHub Enterprise Cloud
Utilizzare DeepSeek R1 con Azure AI
Gestire il routing HTTP in Azure Container App
I più letti di oggi
- Creare una libreria CSS universale: Clip-path
- Custom Control con il supporto al databind per ASP.NET 2.0
- Community Days 2012 - Milano
- Preview 4 per ASP.NET MVC
- È ufficiale: Visual Studio LightSwitch 2011 sarà rilasciato il 26 luglio
- Rilasciata la versione 1.1 di Fujitsu NetCOBOL
- Speciale PDC 2003 in tempo reale
- Azure Mobile Services: costruire il back-end per le app


