Bedingte portion von web-Seiten, basierend auf der "Akzeptiere" - header mit express?

Ich verstehe, dass Sie dienen können statische Inhalte über express mit:

app.use(express.static(__dirname + "../../../public_html"));

Allerdings werde ich versuchen, express-änderung der Präsentation der Inhalte, die er liefert, basierend auf der "Akzeptiere" - header, die die Antwort verschickt. Normalerweise werden die Inhalte, die ich haben angefordert wird, in eine JSON-format über eine REST-API, also die url ist: http://blah.com/this/that/item und das funktioniert gut.

Jedoch möchte ich auch für die Benutzer werden in der Lage, den Zugriff, die gleiche Seite in einem browser die senden würde, über so etwas wie: Accept:text/html und wegen dem header, siehe eine Seite mit richtigen Formatierung (CSS/JS/HTML/etc.) zu präsentieren die gleichen Informationen.

Recht jetzt ich versuche zu dienen, den Inhalt durch:

if (req.accepts("text/html")) {
   res.sendfile("/", {
      root: "../../../public_html"
   });
   res.status(200);
   return;
}

Wo public_html hält index.html und die relative Verzeichnisse mit den CSS und JS. Ich werde nicht schicken Sie die Datei, sobald dieser fertig ist, aber ich dachte, es wäre ein guter Anfang und dann fügen Sie die JSON-Inhalt, nachdem ich herausgefunden, wie man die Verarbeitung statischer Inhalte basierend auf den Accept-header.

Gibt es einen besseren Weg, dies zu tun?

InformationsquelleAutor zero298 | 2014-04-28
Schreibe einen Kommentar