Simplemente poner todos los archivos en un archivo .zip no es una solución viable porque la mayoría de las aplicaciones web necesitan un servidor web para poder acceder a los recursos a través de solicitudes HTTP. En algunos sistemas, puede acceder a los archivos a través del file://
esquema URI , pero no se garantiza que funcione en todas partes debido a razones de seguridad y fallará por cosas como las solicitudes AJAX.
Podría funcionar para una aplicación muy simple donde tiene la mayoría de los recursos en línea, pero este no es realmente el enfoque que recomendaría a cualquiera. Sin embargo, existen alternativas, tales como:
Crea una aplicación nativa
Puede empaquetar su aplicación web como una aplicación nativa utilizando Node-Webkit . Incluso puede usar esto para agregar características de escritorio nativas (como juegos guardados locales) a su juego.
Sin embargo, este no es un enfoque de " paquete y listo " ... probablemente tendrá que reescribir partes de su aplicación y escribir diferentes cargadores (por ejemplo, con una aplicación de escritorio, preferirá cargar los archivos a través del sistema de archivos, mientras usa HTTP -Solicitudes en un navegador / juego en línea).
Use las funciones HTML5 para permitir el acceso sin conexión de su aplicación
Si su objetivo principal es permitir que el jugador juegue su juego sin conexión, también puede usar el caché de la aplicación para permitir el acceso sin conexión de su aplicación. Esta es una característica que funciona en la mayoría de los navegadores modernos . El beneficio adicional es que el usuario no tiene que descargar nada y solo puede usar un marcador para jugar su juego incluso sin conexión.
Para los recursos que se cargan de forma asincrónica (AJAX), también deberá implementar mecanismos de carga separados. Puede utilizar el almacenamiento local para guardar estos recursos para su uso sin conexión.