Nur alle Dateien in eine .zip-Datei zu packen, ist keine praktikable Lösung, da die meisten Webanwendungen einen Webserver benötigen, um über HTTP-Anfragen auf Ressourcen zugreifen zu können. Auf einigen Systemen können Sie über das file://
URI-Schema auf Dateien zugreifen , dies funktioniert jedoch aus Sicherheitsgründen nicht überall und schlägt beispielsweise bei AJAX-Anforderungen fehl.
Es könnte für eine sehr einfache App funktionieren, in der Sie die meisten Ressourcen inline haben, aber dies ist wirklich nicht der Ansatz, den ich jedem empfehlen würde. Es gibt jedoch Alternativen, wie zum Beispiel:
Erstellen Sie eine native Anwendung
Sie können Ihre Webanwendung mit Node-Webkit als native App verpacken . Sie können dies sogar verwenden, um Ihrem Spiel native Desktop-Funktionen (z. B. lokale Save-Games) hinzuzufügen.
Dies ist jedoch kein " package and done " -Ansatz. Wahrscheinlich müssen Sie Teile Ihrer Anwendung neu schreiben und verschiedene Loader schreiben (z. B. mit einer Desktop-App laden Sie die Dateien lieber über das Dateisystem, während Sie HTTP verwenden -Anfragen in einem Browser / Online-Spiel).
Verwenden Sie HTML5-Funktionen, um den Offline-Zugriff auf Ihre App zu ermöglichen
Wenn Ihr primäres Ziel darin besteht, dem Spieler das Offline-Spielen Ihres Spiels zu ermöglichen, können Sie auch den Anwendungs-Cache verwenden , um den Offline-Zugriff auf Ihre App zu ermöglichen. Dies ist eine Funktion, die in den meisten modernen Browsern funktioniert . Der zusätzliche Vorteil ist, dass der Benutzer nichts herunterladen muss und einfach ein Lesezeichen verwenden kann, um Ihr Spiel zu spielen, auch wenn es offline ist.
Für Ressourcen, die asynchron geladen werden (AJAX), müssen Sie separate Lademechanismen implementieren. Sie können den lokalen Speicher verwenden , um diese Ressourcen für die Offline-Verwendung zu speichern.