Creé una especie de IDE web que permite la creación y edición de archivos, etc., que actualmente funciona sin conexión sin la necesidad de un servidor para almacenar archivos.
Lo que necesito es una forma de abrir esos archivos en el navegador a través de JavaScript con solo presionar el botón. Algo así como el editor de código stackoverflow, pero el sitio web debe abrirse en una nueva pestaña. El método para hacer esto debería tener el menor impacto posible en el usuario del IDE. Por ejemplo, no podía simplemente convertir todos los archivos en direcciones URL de blob porque eso limitaría al usuario para hacer cosas como hacer referencia a main.js en su index.html , por ejemplo.
Estaba investigando la API de entradas de archivos y directorios , pero la compatibilidad con el navegador no es buena. Esto me habría permitido almacenar todos los archivos localmente y acceder a ellos a través de direcciones URL antepuestas con el sistema de filesystem: .
Por ejemplo, una solución podría ser crear automáticamente direcciones URL de blobs para todos los archivos, revisar el código del usuario y reemplazar todas las referencias a esos archivos con sus contrapartes de blobs, pero sería exponencialmente más difícil reemplazar las referencias si el usuario decide hacer referencia a algo dinámicamente. con JavaScript.
Mi plan de copia de seguridad es simplemente crear un servidor para descargar todos los archivos del cliente y devolverlos al cliente, pero el hecho de que un servidor ni siquiera debería ser necesario (en teoría) hace que esta idea de crear un servidor parezca innecesaria. .
¿Alguien sabe de alguna API similar a la API de entradas de archivos y directorios que pueda ser útil? ¿O cualquier otro método para lograr lo que he descrito?
Editar: la respuesta a esta pregunta menciona que los trabajadores del servicio pueden "enviar respuestas personalizadas a solicitudes HTTP".