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().