Me gustaría encontrar una manera fácil de leer y escribir archivos (almacenados localmente) desde mi programa que se ejecuta en un servidor localhost. Si uso const fs = require(fs) no puedo encontrar el módulo Node del servidor. Esto tiene sentido. ¿Hay alguna forma de acceder fácilmente a ese archivo desde mi javascript, con una funcionalidad similar al módulo fs?
Parece que no comprende bien cómo funciona la arquitectura cliente/servidor para un servidor http y el navegador.
Hay un servidor http que se ejecuta en nodejs. Eso tiene acceso al sistema de archivos local usando el módulo fs . Este es un código del lado del servidor que se ejecuta en el entorno de ejecución de nodejs.
Hay un cliente http (el navegador). Hace una solicitud http a su servidor, el servidor devuelve una respuesta http y el navegador obtiene esa respuesta y la procesa. Si la solicitud es para una página html, el navegador obtiene ese HTML, lo analiza, lo muestra y luego ejecuta los scripts incrustados en la página HTML. Los scripts que se ejecutan en la página HTML se ejecutan en el cliente/navegador (no en el servidor).
Javascript que se ejecuta en el navegador no tiene acceso a los módulos de nodejs como el módulo fs . Solo tiene acceso a las bibliotecas que el navegador pone a su disposición. En ausencia de complementos especiales del navegador (con privilegios elevados y riesgos de seguridad asociados), los scripts que se ejecutan en el navegador en páginas HTML NO tienen acceso al sistema de archivos local. Esto es por razones de seguridad, ya que no desea que las páginas web aleatorias en las que simplemente se hace clic tengan acceso a cualquier cosa en su disco duro local.
Por lo tanto, generalmente no accede a los archivos locales desde su navegador Javascript. En su lugar, almacena datos en LocalStorage y obtiene los datos de eso o almacena los datos en el servidor (en nombre del usuario específico) y esos datos se incluyen en la página web (por lo que el Javascript que se ejecuta en la página web puede usarlo) o los datos pueden ser solicitados desde el servidor por el navegador Javascript (usando llamadas Ajax).