2017-03-13 6 views
-1

Ich versuche, eine Angular 2 Universal-App zu entwickeln, die eine APIAngular Universal-[Knoten] verwenden Express Variablen

Die API zur Zeit der Kopfzeile der Anforderung verwendet aufrufen muss, um festzustellen, ob es eine unserer Kundenbasis ist (wir bin ein ISP).

Dies funktioniert absolut gut Client-Seite, aber für die Node-Seite der Anwendung wird es immer die IP des Servers sein.

Also fragte ich mich, ob es einen Weg für die Angular Universal App gibt (wenn sie als Knoten ausgeführt wird), Express (?) Abzufragen, um dies aus den Anforderungsheadern herauszuholen?

Antwort

0

Ok, so muß ich diese ‚Arbeit‘ durch einen IP-Variable in der environment.ts-Datei hinzufügen, dann meine server.js Bearbeitung

function ngApp(req: any, res: any) { 
    environment.ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress; 
    res.render('index', { 
     req, 
     res, 
     ngModule: AppModule, 
     preboot: false, 
     baseUrl: '/', 
     requestUrl: req.originalUrl, 
     originUrl: req.hostname 
    }); 
} 

Jetzt ist es zugänglich von meiner app, aber auf einer Skala von 1 - 10, wie schmutzig würdest du das sagen? weil es sich ziemlich horrend anfühlt.