Estoy creando una aplicación web donde un usuario puede escribir /encuesta/:id para recuperar una encuesta con la identificación dada de mi base de datos. Presumiblemente, para hacer esto, mi servidor expreso Node JS primero necesitaría enviar el HTML en el que quiero que se muestre la encuesta, el JavaScript que maneja la interfaz y luego los datos JSON que representan la encuesta.
Me encuentro con un obstáculo porque no tengo idea de cómo manejar una solicitud de este tipo. Como punto de partida, traté de hacer que mi servidor simplemente enviara la página html en cuestión al recibir la solicitud (y, por lo tanto, no usar el servidor estático de Express). El código es el siguiente:
app.get('/poll/:id', function(req, res, next){ res.sendFile('poll.html'); });Sin embargo, la página en el extremo del usuario no maneja ningún CSS, por lo tanto, la página no tiene ningún estilo al enviarse al usuario, ni es compatible con el frontend JS. ¿Qué tengo que hacer exactamente para asegurarme de que todo eso funcione en la interfaz? ¿Hay un enfoque más fácil para esto que no me doy cuenta?
Si desea generar el HTML en el lado del servidor, use un motor de plantillas, ejs, por ejemplo. Allí podrá recuperar los datos de la base de datos y mostrar fácilmente la página de acuerdo con esos datos. Por otro lado, si desea recuperar los datos usando javascript, simplemente sirva los archivos HTML de forma estática y luego cree otra ruta que solo responda con el objeto JSON recuperado de la base de datos (que solicitaría la interfaz), y luego el frontend-javascript representaría la aplicación