Diese ├ťbersetzung zur Verf├╝gung gestellt von StrongLoop / IBM.

Dieses Dokument kann im Vergleich zur englischen Dokumentation veraltet sein. Aktuelle Updates finden Sie in der englischen Dokumentation.

Ôťľ

H├Ąufig gestellte Fragen

Wie muss ich meine Anwendung strukturieren?

Auf diese Frage gibt es keine verbindliche Antwort. Die Antwort h├Ąngt vom Umfang Ihrer Anwendung und dem eingebundenen Team ab. Um so flexibel wie m├Âglich zu sein, gibt es bei Express keine Voraussetzungen hinsichtlich der Struktur.

Weiterleitungen und andere anwendungsspezifische Logik k├Ânnen in einer beliebigen Anzahl von Dateien und in jeder von Ihnen bevorzugten Verzeichnisstruktur vorkommen. Die folgenden Beispiele sollen als Entscheidungshilfe dienen:

Dar├╝ber hinaus gibt es Erweiterungen anderer Anbieter f├╝r Express, die zur Vereinfachung einiger dieser Muster beitragen:

Wie definiere ich Modelle?

Express hat keine Vorstellungen von einer Datenbank. Dieses Konzept bleibt Node-Modulen anderer Anbieter ├╝berlassen, wodurch Schnittstellen zu allen Datenbank m├Âglich sind.

LoopBack zeigt ein Express-basiertes Framework, um das Modelle angeordnet sind.

Wie kann ich Benutzer authentifizieren?

Die Authentifizierung ist ein weiterer meinungsstarker Bereich, in den Express nicht eingreift. Sie k├Ânnen ein Authentifizierungsschema nach Ihren Vorstellungen verwenden. Ein einfaches Benutzername/Kennwort-Schema k├Ânnen Sie in diesem Beispiel sehen.

Welche Template-Engines unterst├╝tzt Express?

Express unterst├╝tzt jede Template-Engine, die der (path, locals, callback)-Signatur entspricht. Informationen zur Normalisierung von Template-Engine-Schnittstellen und -Caching siehe das Projekt consolidate.js. Nicht aufgelistete Template-Engines k├Ânnen trotzdem die Express-Signatur unterst├╝tzen.

Wie handhabe ich 404-Antworten?

In Express sind 404-Antworten nicht das Ergebnis eines Fehlers, sodass diese Antworten von der Fehlerbehandlungsroutine nicht erfasst werden. Dieses Verhalten ist damit zu erkl├Ąren, dass eine 404-Antwort einfach angibt, dass keine weiteren Arbeiten auszuf├╝hren sind. In anderen Worten: Express hat alle Middlewarefunktionen und Weiterleitungen ausgef├╝hrt und festgestellt, dass keine Funktion eine Antwort zur├╝ckgegeben hat. Sie m├╝ssen also bei der Handhabung der 404-Antwort nur eine Middlewarefunktion am Ende des Stacks (unterhalb von allen anderen Funktionen) hinzuf├╝gen:


app.use(function(req, res, next) {
  res.status(404).send('Sorry cant find that!');
});

Wie richte ich eine Fehlerbehandlungsroutine ein?

Middleware f├╝r die Fehlerbehandlung wird in derselben Weise definiert wie andere Middleware; au├čer dass sie vier anstatt drei Argumente aufweist. Dies gilt speziell bei der Signatur (err, req, res, next):


app.use(function(err, req, res, next) {
  console.error(err.stack);
  res.status(500).send('Something broke!');
});

Weitere Informationen siehe Fehlerbehandlung.

Wie gebe ich normales HTML-Format aus?

Das ist nicht Ihre Aufgabe! Sie m├╝ssen kein HTML-Format mit der Funktion res.render() ausgeben. Verwenden Sie die Funktion res.sendFile(), wenn Sie es mit einer bestimmten Datei zu tun haben. Wenn Sie viele Assets aus einem Verzeichnis bedienen m├╝ssen, verwenden Sie die Middlewarefunktion express.static().