NodeJS w / Express Fehler: Kann nicht erhalten /
Dies ist, was ich habe, ist der Dateiname "default.htm" tatsächlich vorhanden ist und lädt, wenn dabei ein readFile mit NodeJS.
var express = require('express');
var app = express();
app.use(express.static(__dirname + '/default.htm'));
app.listen(process.env.PORT);
Die Fehlermeldung (im browser):
Cannot GET /
InformationsquelleAutor der Frage sia | 2012-11-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Möchten Sie in der Regel render-Vorlagen wie diese:
Allerdings können Sie auch liefern statische Inhalte - zu tun, so verwenden:
Nun alles in die
/public
Verzeichnis des Projekts geliefert werden als statische Inhalte auf der Wurzel Ihrer Website z.B. wenn Siedefault.htm
im öffentlichen Ordner verfügbar sein wird, durch den Besuch/default.htm
Werfen Sie einen Blick durch die express-API und Verbinden Statischen middleware docs für mehr info.
InformationsquelleAutor der Antwort Sdedelbrock
Müssen Sie definieren, ein root-route.
Oh, und Sie können eine Datei angeben, die innerhalb der
express.static
. Es muss ein Verzeichnis sein. Dieapp.get('/'....
verantwortlich zu erbringen, dass die Datei entsprechend. Sie können express " render-Methode, aber Ihr gehen zu müssen, fügen Sie einige Konfigurations-Optionen, sagen, express, wo Sie Ihre Ansichten sind, die traditionell innerhalb derapp/views/
Ordner.InformationsquelleAutor der Antwort Daniel
Wo ist die get-Methode für "/"?
Auch Sie nicht dienen statische html-Code direkt in Express.Zuerst müssen Sie es konfigurieren.
Nun fügen Sie Ihrem get-Methode.
InformationsquelleAutor der Antwort Serdar Dogruyol
Fand ich mich auf dieser Seite war ich auch empfangen die
Cannot GET/
Nachricht. Meine Verhältnisse unterschieden sich wie ich war mitexpress.static()
Ziel einen Ordner, wie bereits angeboten, die in früheren Antworten, und nicht um eine Datei wie die OP war.Was ich entdeckt habe, nachdem einige Graben durch Express' docs ist, dass
express.static()
definiert Ihre index-Datei wieindex.html
während meine Datei hießindex.htm
.Binden diese an die OP ' s Frage, gibt es zwei Optionen:
1: Verwenden Sie den code vorgeschlagen, in anderen Antworten
umbenennen und anschließend
default.htm
Datei zuindex.html
oder
2: Fügen Sie die
index
- Eigenschaft beim Aufrufexpress.static()
um es zu lenken, um das gewünschte index-Datei:InformationsquelleAutor der Antwort PTD
Ich hatte das gleiche problem, also hier ist was ich kam mit. Dies ist, was meine Ordnerstruktur sah aus wie wenn ich ran
node server.js
Nach der Ausgabe der
__dirname
Weg, merkte ich, dass die__dirname
Weg war, wo mein server lief (app/
).So, die Antwort auf deine Frage ist:
Wenn Ihr
server.js
Datei ist im gleichen Ordner wie die Dateien, die Sie versuchen, zu Rendern, dannsollte eigentlich
Nur die Zeit, würden Sie wollen, um die ursprüngliche syntax, dass Sie hatte würde sein, wenn Sie eine Ordner-Struktur wie folgt:
wo
index.html
ist in derapp/
Verzeichnis, in der Erwägung, dassserver.js
ist in das root-Verzeichnis (d.h. in der gleichen Ebene wie dieapp/
Verzeichnis).Insgesamt, Ihren code könnte Aussehen:
InformationsquelleAutor der Antwort CopyLeft
Ändern
app.use(express.static(__dirname + '/default.htm'));
zuapp.use(express.static(path.join(__dirname + '/default.htm')));
.Stellen Sie außerdem sicher, dass Sie ihn auf den richtigen Weg zu Ihnen default.html.
InformationsquelleAutor der Antwort Wambua Makenzi
Ich Stand vor dem gleichen problem wie in der Frage genannten. Die folgenden Schritte mein problem gelöst.
Aktualisierte ich die nodejs-package-link mit folgenden Schritten
Klar NPM-cache:
Installieren Sie einen kleinen Helfer namens 'n'
Dann ging ich zu node.js website, Download der neuesten node-js-Paket, installiert es, und mein problem war gelöst.
InformationsquelleAutor der Antwort Akshay Vijay Jain
Ich hatte das gleiche Problem. Gelöst wird es durch kleine änderungen wie unten.
Bekam Hilfe von hier (ExpressJS-Dokumentation - statischen Dateien).
InformationsquelleAutor der Antwort Amal Augustine Jose
In meinem Fall, die statische Inhalte wurde schon serviert:
...und das alles in der app schien darauf zu verlassen, dass in irgendeiner Weise. (
path
dep istrequire('path')
)Also a) ja, es kann eine Datei; und b) Sie können stellen Sie eine Umleitung!
Nun jemand schlagen
/
bekommt/index.html
serviert statisch aus../pub/index.html
.Hoffe, dies hilft jemand anderes.
InformationsquelleAutor der Antwort Chaim Eliyah