2015-05-20 14 views
7

Używam Express 4.12.3 do udostępniania plików statycznych dla witryny internetowej. Chcę móc przejść do strony example.com/mypage, która pobierze /mypage.html. Innymi słowy, chcę mieć możliwość wyświetlenia strony bez konieczności wpisywania rozszerzenia .html w adresie URL.NodeJS Express - Pokaż adres URL bez użycia rozszerzenia html

Mój kod wygląda następująco:

var express  = require('express'); 
var app   = express(); 
var server  = require('http').Server(app); 

app.use(express.static(__dirname + '/public')); 

server.listen(4000); 

mogę uzyskać dostępu do strony w przeglądarce podczas używania rozszerzenie .html ale dostać Nie znaleziono podczas usuwania rozszerzenie. Jakieś pomysły, jak skonfigurować mój ekspresowy serwer, aby na to zezwolić?

Odpowiedz

15

Można ustawić opcję extensions włączyć awaryjne rozszerzenia plików, aby spróbować:

app.use(express.static(__dirname + '/public', { 
    extensions: ['html'] 
})); 
+0

to był bilet. Dokładnie to, czego szukałem. Rodzaju czuć nieśmiałość, ponieważ jest to takie proste rozwiązanie. Ciekawe, jak ominąłem to w dokumentacji. – risingtiger

+0

Czy istnieje prosty sposób rozliczania końcowych ukośników bez potrzeby używania zależności, takich jak express-slash? – stackunderflow

Powiązane problemy