Rozumiem, że można służyć zawartości statycznej nadekspresję z:Podawanie warunkowe stron internetowych w oparciu o nagłówek "Accept" z wyrażeniem ekspresowym?
app.use(express.static(__dirname + "../../../public_html"));
Ja jednak staram się mieć wyrazić zmienić prezentację treści dostarcza oparty na „Akceptuj” nagłówek odpowiedzi wysyła ponad . Zwykle żądana treść jest wymagana w formacie JSON za pośrednictwem interfejsu API REST, więc adres URL to: http://blah.com/this/that/item
i to działa dobrze.
Chciałbym jednak, aby użytkownicy mogli uzyskać dostęp do tej samej strony z przeglądarki, która wysłałaby coś takiego: Accept:text/html
iz tego nagłówka, zobacz stronę z poprawnym formatowaniem (CSS/JS/HTML/itp.), aby przedstawić te same informacje.
Teraz staram się służyć zawartości poprzez:
if (req.accepts("text/html")) {
res.sendfile("/", {
root: "../../../public_html"
});
res.status(200);
return;
}
Gdzie public_html
posiada index.html
i względne katalogi z CSS i JS. Nie wyślę tego pliku, kiedy to się skończy, ale pomyślałem, że to będzie dobry początek, a następnie doda zawartość JSON po tym, jak zorientowałem się, jak obsługiwać zawartość statyczną w oparciu o nagłówek Accept.
Czy jest lepszy sposób to zrobić?
Wymagałoby to mnie użyć silnik renderowania chociaż, prawda? A jeśli chcę zamiast tego wyświetlić stronę statyczną html? Mogę być niepoprawny, tylko czytam o tym, jak 'res.render' potrzebuje silnika renderującego, a następnie czytam o' jade' i wymaga on osobnego, osobnego znacznika. – zero298
Zobacz moją edycję powyżej. – dankohn