Застосунок на $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-запити ніколи не кешуються. Коли кільком клієнтам чи пристроям потрібно ділити ті самі живі, редаговані дані — з безконфліктними злиттями — це вже інша задача, яку розв'язує окремий проєкт Giper Baza.Редагувати цю сторінку на GitHubЦе було корисно?ТакНіНазадМетадані модуляДаліПодання-привидиНа цій сторінціЩо він робитьЯк увімкнутиЧим це *не* єType to search the documentation.