Vet du att du skickar index.html för varje begäran?
Ändra detta:
router.get('*', function(request, response) {
response.sendfile('./public/index.html');
});
Till detta:
app.use(express.static(path.join(__dirname, 'public')));
Eller det här:
app.use('/path', express.static(path.join(__dirname, 'public')));
om du gick för att servera de statiska filerna under någon annan sökväg än /
.
Se till att lägga till detta i början av filen:
var path = require('path');
Se också till att du faktiskt har public
katalogen på rätt plats och att den innehåller index.html
och andra nödvändiga filer.
Naturligtvis kan du ha andra problem eftersom du uppenbarligen inte har inkluderat hela din kod.
Se mitt exempel på GitHub om du vill servera statiska filer med Express:
- https://github.com/rsp/node-express-static-example
Det är ett fungerande exempel som du kan ladda ner, lägga ditt eget statiska innehåll i rätt katalog och anpassa efter dina egna behov.
Fler exempel att göra samma sak med och utan Express:
- https://github.com/rsp/node-static-http-servers
Andra relaterade svar:
- Hur man visar en bild med hjälp av nodejs
- Det gick inte att ladda resurs från samma katalog vid omdirigering av Javascript
- onload js-anropet fungerar inte med noden
- Skicka hela mappens innehåll till klienten med express
- Noden JS betjänar inte den statiska bilden