¿Sabe que está enviando el index.html para cada solicitud?
Cambia esto:
router.get('*', function(request, response) {
response.sendfile('./public/index.html');
});
A esto:
app.use(express.static(path.join(__dirname, 'public')));
O esto:
app.use('/path', express.static(path.join(__dirname, 'public')));
si fue a servir los archivos estáticos en alguna ruta que no sea /
.
Asegúrese de agregar esto al principio de su archivo:
var path = require('path');
También asegúrese de que realmente tiene el public
directorio en el lugar correcto y que incluye el index.html
y otros archivos requeridos.
Por supuesto, puede tener otros problemas ya que obviamente no ha incluido su código completo.
Vea mi ejemplo en GitHub si desea servir archivos estáticos con Express:
- https://github.com/rsp/node-express-static-example
Es un ejemplo de trabajo que puede descargar, poner su propio contenido estático en el directorio correcto y personalizarlo según sus propias necesidades.
Más ejemplos para hacer lo mismo con y sin Express:
- https://github.com/rsp/node-static-http-servers
Otras respuestas relacionadas:
- Cómo servir una imagen usando nodejs
- Error al cargar el recurso desde el mismo directorio al redireccionar Javascript
- la llamada onload js no funciona con el nodo
- Enviar el contenido completo de la carpeta al cliente con express
- Node JS no entrega la imagen estática