Ved du, at du sender index.html for hver anmodning?
Skift dette:
router.get('*', function(request, response) {
response.sendfile('./public/index.html');
});
Til dette:
app.use(express.static(path.join(__dirname, 'public')));
Eller denne:
app.use('/path', express.static(path.join(__dirname, 'public')));
hvis du gik for at tjene de statiske filer under en anden sti end /
.
Sørg for at tilføje dette til begyndelsen af din fil:
var path = require('path');
Sørg også for, at du rent faktisk har den public
mappe på det rigtige sted, og at den indeholder index.html
og andre nødvendige filer.
Selvfølgelig kan du have andre problemer, da du åbenbart ikke har inkluderet hele din kode.
Se mit eksempel på GitHub, hvis du vil tjene statiske filer med Express:
- https://github.com/rsp/node-express-static-example
Det er et fungerende eksempel, som du kan downloade, placere dit eget statiske indhold i den korrekte mappe og tilpasse til dine egne behov.
Flere eksempler på at gøre det samme med og uden Express:
- https://github.com/rsp/node-static-http-servere
Andre relaterede svar:
- Sådan vises et billede ved hjælp af nodejs
- Kunne ikke indlæse ressource fra samme mappe ved omdirigering af Javascript
- onload js-kald virker ikke med node
- Sender hele mappeindholdet til klienten med express
- Node JS tjener ikke det statiske billede