Знаете ли, че изпращате index.html за всяка заявка?
Променете това:
router.get('*', function(request, response) {
response.sendfile('./public/index.html');
});
Към това:
app.use(express.static(path.join(__dirname, 'public')));
Или това:
app.use('/path', express.static(path.join(__dirname, 'public')));
ако сте отишли да обслужвате статичните файлове по някакъв път, различен от /
.
Не забравяйте да добавите това в началото на вашия файл:
var path = require('path');
Също така се уверете, че наистина имате public
директория на правилното място и че включва index.html
и други необходими файлове.
Разбира се, може да имате други проблеми, тъй като очевидно не сте включили целия си код.
Вижте моя пример в GitHub, ако искате да обслужвате статични файлове с Express:
- https://github.com/rsp/node-express-static-example
Това е работещ пример, който можете да изтеглите, да поставите свое собствено статично съдържание в правилната директория и да персонализирате за вашите собствени нужди.
Още примери да направите същото със и без Express:
- https://github.com/rsp/node-static-http-servers
Други свързани отговори:
- Как да показваме изображение с помощта на nodejs
- Неуспешно зареждане на ресурс от същата директория при пренасочване на Javascript
- onload js повикването не работи с възел
- Изпращане на цялото съдържание на папката до клиента с експресно
- Възел JS не обслужва статичното изображение