2016-04-03 5 views
0

In meinem öffentlichen Ordner habe ich die Datei index.html und meine Route-Handler ist wie folgtWie entfernt man die Präferenz für index.html in nodejs?

router.get('/', function (req, res, next) { 
    // res.send('index.html'); 
    if (req.user) 
     res.redirect('home'); 
    else 
     res.redirect('login'); 
}); 

Wie Sie sehen können, habe ich die Portion Datei index.html kommentiert, aber NodeJS dient noch immer den Index .html aus dem öffentlichen Verzeichnis statt nach Hause oder Login umleiten. Aber wenn ich die index.html Datei entferne/umbenenne, dann funktioniert es gut.

So wie kann ich Nodejs so konfigurieren, dass es den Route-Handler, nicht die Server-Index-Datei auf Anfrage aufruft?

Antwort

1

Dies ist aufgrund der app.use auf Bestellung, es war vorher

app.use(express.static(path.join(__dirname, 'public'))); 
app.use('/', index); 

diese

app.use('/', index); 
app.use(express.static(path.join(__dirname, 'public'))); 

Löst das Problem zu

ändern.

0

Die express.static() middleware enthält eine index Option, mit der Sie den Standarddateinamen ändern können.

Oder für Ihre Absichten, die Funktion vollständig zu deaktivieren:

app.use(express.static(path.join(__dirname, 'public'), { 
    index: false 
})); 
Verwandte Themen