smalljs$mol검색⌘ K문서플레이그라운드비교에코시스템소개KO
오프라인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가 실행을 거부합니다.앱을 설치 가능하게 하려면 웹 앱 manifest를 제공하세요.

이것이 아닌

오프라인 캐싱은 하나의 클라이언트를 네트워크 없이 동작하게 유지합니다. 클라이언트 사이에서 데이터를 동기화하지는 않습니다: 쿼리 문자열이 있는 요청은 그대로 통과되고, GET이 아닌 요청은 절대 캐시되지 않습니다. 여러 클라이언트나 기기가 같은 실시간의 편집 가능한 데이터를——충돌 없는 병합으로——공유해야 할 때, 그것은 별개의 문제이며 독립적인 Giper Baza 프로젝트가 처리합니다.
GitHub에서 이 페이지 편집도움이 되었나요?아니요이전모듈 메타데이터다음고스트 뷰
이 페이지에서무엇을 하나활성화 방법이것이 *아닌* 것
Type to search the documentation.