smalljs$molПошук⌘ KДокументаціяПісочницяПорівнянняЕкосистемаПро проєктUK
ОфлайнGetting StartedВступМентальна модельПочаток роботиВід TypeScript до view.treeСтруктура проєктуІнструментарійEssentialsВстановленняВидиСтан і реактивністьМаршрутизаціяРендерингТестуванняДеплойРозв'язання проблемDataОтримання данихСхеми данихGiper BazaMoreВітринаЗ React, Vue та SvelteЗбірник рецептівAdvancedПлагіниМетадані модуляОфлайнПодання-привидиAboutЧасті питанняКомандаРелізиAPI$mol_button_major$mol_button_minor$mol_string$mol_number$mol_text$mol_paragraph$mol_list$mol_row$mol_link$mol_check$mol_switch$mol_select$mol_scroll$mol_page$mol_pick

Офлайн

Застосунок на $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.