2016-03-31 1 views
0

Basierend auf Express-Dokumentation, eine Middleware muss jedes Mal App ausgeführt wird, nach diesem Code gestartet:Middle nicht in Express läuft

var app = express(); 

app.use(function (req, res, next) { 
    console.log('Time:', Date.now()); 
    next(); 
}); 

Nun, versuchen, mit den einfachsten possilbe Beispiel Middleware ausführen nie excuted ist:

var express = require('express'); 
var middleware = require('./middleware'); 
var app = express(); 

app.use(function (req, res, next){ 
    console.log('MIDDLEWARE'); 
    next(); 
}); 

module.exports = app; 

Middleware läuft nie.

Auch versucht, es funktioniert von einer getrennten Datei, aber nie läuft.

Dank

+0

Dies ist wahrscheinlich ein Problem mit Versionen. Die Express-Syntax hat sich in letzter Zeit ziemlich verändert. Stellen Sie sicher, dass der von Ihnen verwendete Code für die Version von express, die Sie verwenden, relevant ist. Stellen Sie außerdem sicher, dass der Code tatsächlich getroffen wird. zum Beispiel, wenn Sie console.log direkt nach var app = express(); zeigt die Log-Anweisung? – danday74

Antwort

0

Ups, scheint sie ins Leben gerufen zu sein, ist, wenn eine Anfrage recieves. Mit Postman funktionierte es also.

1

Middleware sind Mittagessen, wenn es eine Anfrage an den Server gibt.

Erstellen Sie eine Route und senden Sie eine Anfrage, die Middleware würde lunched.

+0

Korrekt, sie werden nur ausgeführt, wenn eine Anfrage verarbeitet wird und die Antwort innerhalb der Kette noch nicht gesendet wurde. Wenn Sie beim Start etwas ausführen möchten, können Sie stattdessen einen Ereignis-Listener verwenden. – David