Приложение на $mol может продолжать работать без сети — откройте его один раз онлайн, и оно останется пригодным после того, как вы уйдёте в офлайн, вплоть до установки как PWA. Это даёт один встроенный модуль, mol/offline/install, и он не зависит ни от какого слоя данных.
mol/offline/install запускает $mol_offline, который регистрирует service worker (web.js) как кэширующий прокси. Каждый успешный GET статического ресурса — бандла приложения, стилей, картинок — сохраняется в кэше с именем $mol_offline. При следующей загрузке worker отдаёт эти ответы прямо из кэша, поэтому приложение открывается мгновенно и переживает HTTP-ошибку или обрыв соединения, откатываясь на кэшированную копию. Поскольку всё приложение кэшируется и отдаётся так, браузер может предложить установить его как PWA.
Добавьте одну строку в *.meta.tree вашего приложения:1include \/mol/offline/installЭтот принудительный include втягивает модуль в бандл, так что его service worker регистрируется как побочный эффект — никакому другому коду не нужно на него ссылаться. О том, как работает include, см. Метаданные модуля.Два требования браузера во время выполнения:Отдавайте по HTTPS (или localhost в разработке) — иначе service worker'ы не запускаются.Предоставьте веб-манифест приложения, чтобы его можно было установить.
Офлайн-кэширование держит один клиент работающим без сети. Оно не синхронизирует данные между клиентами: запросы со строкой запроса пропускаются насквозь, а не-GET-запросы никогда не кэшируются. Когда нескольким клиентам или устройствам нужно делить одни и те же живые, редактируемые данные — с бесконфликтными слияниями — это уже другая задача, которую решает отдельный проект Гипер База.Редактировать эту страницу на GitHubБыло полезно?ДаНетНазадМетаданные модуляВперёдGhost-вьюНа этой страницеЧто он делаетКак включитьЧем это *не* являетсяType to search the documentation.