Простое помещение всех файлов в ZIP-файл не является жизнеспособным решением, поскольку большинству веб-приложений необходим веб-сервер, чтобы они могли обращаться к ресурсам через HTTP-запросы. В некоторых системах вы можете получить доступ к файлам через file://
URI-схему , но это не гарантирует, что она будет работать везде из-за соображений безопасности и не будет работать для таких вещей, как запросы AJAX.
Это может работать для очень простого приложения, в котором у вас есть большинство встроенных ресурсов, но это действительно не тот подход, который я бы рекомендовал никому. Хотя есть альтернативы, такие как:
Создайте нативное приложение
Вы можете упаковать свое веб-приложение как нативное, используя Node-Webkit . Вы даже можете использовать это, чтобы добавить в игру встроенные функции рабочего стола (например, локальные сохранения).
Это не подход « пакет и готово », хотя ... вам, вероятно, придется переписывать части вашего приложения и писать разные загрузчики (например, с настольным приложением вы скорее загрузите файлы через файловую систему, тогда как вы используете HTTP -Запросы в браузере / онлайн-игре).
Используйте функции HTML5, чтобы разрешить автономный доступ к вашему приложению
Если ваша основная цель состоит в том, чтобы позволить игроку играть в вашу игру в автономном режиме, вы также можете использовать кэш приложения, чтобы разрешить автономный доступ к вашему приложению. Эта функция работает в большинстве современных браузеров . Дополнительным преимуществом является то, что пользователю не нужно ничего скачивать, и он может просто использовать закладку, чтобы играть в свою игру, даже когда он не в сети.
Для ресурсов, которые загружаются асинхронно (AJAX), вам также потребуется реализовать отдельные механизмы загрузки. Вы могли бы использовать локальное хранилище, чтобы сохранить эти ресурсы для автономного использования.