sw.js cashovanie rubrika: Programování: JavaScript

6 Mlocik97
položil/-a 4.7.2018

zdravím,

mám webovú aplikaci postavenú na AngularJS. A chcel by som ju cashovať a využiť na to service-worker avšak sw.js som nikdy nepsal a neviem ako docieliť určitých vecí.

A to konkrétne:

Aby načítalo všetky HTML, CSS, JS a JSON súbory ktoré sa na webstránke nachádzajú + jeden HTML súbor ktorý nieje súčasťou webstránky resp. webaplikácie (teda do fáze kým aplikácia nieje offline).
HTML, CSS, JS by som chcel aby sa cashovali na určitú dobu,.. JSON na inú dobu.
V prípade že webstránka sa načitáva vo chvíli když som pripojený k Internetu aby skontrolovalo či sa súbory nezmenily. V prípade ak sa zmenily, stiahli zmeny súborov.
V prípade ak že webstránka sa nčíta vo chvíli když som offline, buď zobraziť cashované súbore alebo cashované plus spolu aj s tým jedným onen HTML súborom zmínenom hore v prípade ak uplynul príliš dlhý čas od poslednej aktualizácie súborov. (ten HTML súbor by mal byť vložený do stránky skrz data-ng-include.

Zatiaľ mám len kód ktorý som skopčil z https://developers.google.com/web/fundamentals/primers/service-workers/ a o SW poriadne nič neviem.

(p.s. pod skratkou SW všade myslím service worker nie software).

Sry ak dotaz znie nejasne alebo blbo.

odkaz
4 VirtualSkiper
odpověděl/-a 6.7.2018
 
upravil/-a 6.7.2018

Angular ma nejakej svuj zpusob psani PWA (pouziti SW), ale je to takovy super komplikovany motaj to do build systemu a neni to zrovna pohodlny.
https://scotch.io/tutorials/how-to-build-progressive-web-apps-with-angular
Pokud na to mas tyden a chces se v tom hrabat tak zkus tohle https://jakearchibald.com/2014/offline-cookbook/

Pokud to potrebujes rychle odstrelit tak se podivej jak to resi Ionic (v podstate Angular).
Projekt vygenerovany Ionic CLI uz v podstate ma vsechno nastaveny. Staci v index.html odkomentovat sw.js uz v zakladu mas fungujici cache.
Asi to jeste bude chtit aby sis vyplnil manifest, ale to budes muset udelat stejne.
https://youtu.be/aVZ_HyA6XjA
Nevylekej se ze je ta syntaxe jina. Ionic pro SW pouziva https://googlechromelabs.github.io/sw-toolbox/ (mnohem jednoduzsi nez to psat ve vanillaJS)

Pro plný přístup na Devel.cz se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.