Wissen Sie, dass Sie die index.html für jede Anfrage senden?
Ändern Sie dies:
router.get('*', function(request, response) {
response.sendfile('./public/index.html');
});
Dazu:
app.use(express.static(path.join(__dirname, 'public')));
Oder dies:
app.use('/path', express.static(path.join(__dirname, 'public')));
wenn Sie die statischen Dateien unter einem anderen Pfad als /
bereitgestellt haben .
Stellen Sie sicher, dass Sie dies am Anfang Ihrer Datei hinzufügen:
var path = require('path');
Stellen Sie außerdem sicher, dass Sie tatsächlich den public
haben Verzeichnis an der richtigen Stelle und dass es die index.html
enthält und andere erforderliche Dateien.
Natürlich können Sie andere Probleme haben, da Sie offensichtlich nicht Ihren gesamten Code eingefügt haben.
Sehen Sie sich mein Beispiel auf GitHub an, wenn Sie statische Dateien mit Express bereitstellen möchten:
- https://github.com/rsp/node-express-static-example
Es ist ein funktionierendes Beispiel, das Sie herunterladen, Ihren eigenen statischen Inhalt in das richtige Verzeichnis stellen und an Ihre eigenen Bedürfnisse anpassen können.
Weitere Beispiele, um dasselbe mit und ohne Express zu tun:
- https://github.com/rsp/node-static-http-servers
Andere verwandte Antworten:
- So stellen Sie ein Bild mit nodejs bereit
- Ressource konnte beim Umleiten von Javascript nicht aus demselben Verzeichnis geladen werden
- onload js-Aufruf funktioniert nicht mit Knoten
- Senden des gesamten Ordnerinhalts per Express an den Client
- Node JS stellt das statische Bild nicht bereit