typescript - Laddar data från konfigurationsfil angular2


Jag har skapat ett GUI för att hämta data från en fjärrserver. Nu vill jag prova att spara inställningarna för detta GUI i en konfigurationsfil, så att filinställningarna kan ändras.

Jag har ingen aning om hur man skapar en konfigurationsfil i Angular2. Jag försökte titta på länkar om hur man skapar och använder en konfigurationsfil men jag hittade bara för Java och C#. Finns det i Angular2?

Svar #1

Du kan använda en JSON-konfigurationsfil för detta och ladda den via HTTP. I det här fallet kan du starta din applikation asynkront för att vänta på att denna konfigurationsdata ska laddas. Här är ett exempel:

let appProviders = [ HTTP_PROVIDERS, ConfigurationService ];

var app = platform(BROWSER_PROVIDERS)
  .application([BROWSER_APP_PROVIDERS, appProviders]);

let service = app.injector.get(ConfigurationService);
service.getConfiguration().flatMap((configuration) => {
  var configurationProvider = new Provider('configuration', { useValue: configuration });
  return app.bootstrap(AppComponent, [ configurationProvider ]);
}).toPromise();

Klassen ConfigurationService kan vara något i stil med det här:

@Injectable()
export class ConfigurationService {
  constructor(private http:Http) {
  }

  getConfiguration() {
    return this.http.get('config.json').map(res => res.json());
  }
}

Se den här frågan för mer information:

  • angular2 bootstrap med data från ajax-anrop

Svar #2

Du kan inte skapa en fil i Angular. Angular körs i webbläsaren och webbläsaren begränsar åtkomst till det lokala filsystemet.

Det du vill ha istället är att skicka data till servern för att servern ska skapa filen åt klienten.

Relaterade artiklar