├── .gitignore ├── README.md ├── part-1 ├── chapter-1 │ ├── README.md │ ├── package.json │ ├── src │ │ ├── images │ │ │ └── launcher-icon.png │ │ ├── index.html │ │ ├── manifest.json │ │ └── sw.js │ └── yarn.lock ├── chapter-3 │ ├── cache │ │ ├── README.md │ │ ├── package.json │ │ ├── src │ │ │ ├── cat.png │ │ │ ├── index.html │ │ │ ├── style.css │ │ │ └── sw.js │ │ └── yarn.lock │ └── indexedDB │ │ ├── README.md │ │ ├── package.json │ │ ├── src │ │ ├── index.html │ │ ├── main.js │ │ └── style.css │ │ └── yarn.lock ├── chapter-4 │ ├── README.md │ ├── package.json │ ├── server.js │ ├── src │ │ ├── db.js │ │ ├── index.html │ │ ├── network.js │ │ ├── style.css │ │ ├── sw.js │ │ └── ui.js │ └── yarn.lock └── chapter-5 │ ├── README.md │ ├── package.json │ ├── server.js │ ├── src │ ├── icon.png │ ├── index.html │ └── sw.js │ └── yarn.lock ├── part-2 ├── .gitignore ├── README.md ├── client │ ├── db.js │ ├── detail │ │ ├── edit.png │ │ ├── index.js │ │ └── styles.css │ ├── edit │ │ ├── index.js │ │ └── styles.css │ ├── global │ │ ├── index.css │ │ └── index.js │ ├── home │ │ ├── index.js │ │ ├── plus.png │ │ └── styles.css │ ├── index.ejs │ ├── launcher-icon.png │ ├── manifest.json │ ├── network.js │ └── sw.js ├── package.json ├── server │ ├── db.js │ ├── push.js │ └── server.js ├── webpack.config.js ├── webpack │ └── plugins │ │ ├── SWFilePlugin.js │ │ ├── ShellPlugin.js │ │ └── index.js └── yarn.lock └── part-3 ├── .gitignore ├── README.md ├── client ├── detail │ ├── edit.png │ ├── index.js │ └── styles.css ├── edit │ ├── index.js │ └── styles.css ├── global │ ├── index.css │ └── index.js ├── home │ ├── index.js │ ├── plus.png │ └── styles.css ├── index.ejs ├── launcher-icon.png ├── manifest.json └── sw.js ├── package.json ├── server ├── db.js ├── push.js └── server.js ├── webpack.config.js ├── webpack └── plugins │ ├── ShellPlugin.js │ └── index.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/README.md -------------------------------------------------------------------------------- /part-1/chapter-1/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-1/README.md -------------------------------------------------------------------------------- /part-1/chapter-1/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-1/package.json -------------------------------------------------------------------------------- /part-1/chapter-1/src/images/launcher-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-1/src/images/launcher-icon.png -------------------------------------------------------------------------------- /part-1/chapter-1/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-1/src/index.html -------------------------------------------------------------------------------- /part-1/chapter-1/src/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-1/src/manifest.json -------------------------------------------------------------------------------- /part-1/chapter-1/src/sw.js: -------------------------------------------------------------------------------- 1 | self.addEventListener('fetch', function(event) { 2 | }); 3 | -------------------------------------------------------------------------------- /part-1/chapter-1/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-1/yarn.lock -------------------------------------------------------------------------------- /part-1/chapter-3/cache/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-3/cache/README.md -------------------------------------------------------------------------------- /part-1/chapter-3/cache/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-3/cache/package.json -------------------------------------------------------------------------------- /part-1/chapter-3/cache/src/cat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-3/cache/src/cat.png -------------------------------------------------------------------------------- /part-1/chapter-3/cache/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-3/cache/src/index.html -------------------------------------------------------------------------------- /part-1/chapter-3/cache/src/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-3/cache/src/style.css -------------------------------------------------------------------------------- /part-1/chapter-3/cache/src/sw.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-3/cache/src/sw.js -------------------------------------------------------------------------------- /part-1/chapter-3/cache/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-3/cache/yarn.lock -------------------------------------------------------------------------------- /part-1/chapter-3/indexedDB/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-3/indexedDB/README.md -------------------------------------------------------------------------------- /part-1/chapter-3/indexedDB/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-3/indexedDB/package.json -------------------------------------------------------------------------------- /part-1/chapter-3/indexedDB/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-3/indexedDB/src/index.html -------------------------------------------------------------------------------- /part-1/chapter-3/indexedDB/src/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-3/indexedDB/src/main.js -------------------------------------------------------------------------------- /part-1/chapter-3/indexedDB/src/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-3/indexedDB/src/style.css -------------------------------------------------------------------------------- /part-1/chapter-3/indexedDB/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-3/indexedDB/yarn.lock -------------------------------------------------------------------------------- /part-1/chapter-4/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-4/README.md -------------------------------------------------------------------------------- /part-1/chapter-4/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-4/package.json -------------------------------------------------------------------------------- /part-1/chapter-4/server.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-4/server.js -------------------------------------------------------------------------------- /part-1/chapter-4/src/db.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-4/src/db.js -------------------------------------------------------------------------------- /part-1/chapter-4/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-4/src/index.html -------------------------------------------------------------------------------- /part-1/chapter-4/src/network.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-4/src/network.js -------------------------------------------------------------------------------- /part-1/chapter-4/src/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-4/src/style.css -------------------------------------------------------------------------------- /part-1/chapter-4/src/sw.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-4/src/sw.js -------------------------------------------------------------------------------- /part-1/chapter-4/src/ui.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-4/src/ui.js -------------------------------------------------------------------------------- /part-1/chapter-4/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-4/yarn.lock -------------------------------------------------------------------------------- /part-1/chapter-5/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-5/README.md -------------------------------------------------------------------------------- /part-1/chapter-5/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-5/package.json -------------------------------------------------------------------------------- /part-1/chapter-5/server.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-5/server.js -------------------------------------------------------------------------------- /part-1/chapter-5/src/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-5/src/icon.png -------------------------------------------------------------------------------- /part-1/chapter-5/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-5/src/index.html -------------------------------------------------------------------------------- /part-1/chapter-5/src/sw.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-5/src/sw.js -------------------------------------------------------------------------------- /part-1/chapter-5/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-1/chapter-5/yarn.lock -------------------------------------------------------------------------------- /part-2/.gitignore: -------------------------------------------------------------------------------- 1 | public 2 | server/data.db -------------------------------------------------------------------------------- /part-2/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-2/README.md -------------------------------------------------------------------------------- /part-2/client/db.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-2/client/db.js -------------------------------------------------------------------------------- /part-2/client/detail/edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-2/client/detail/edit.png -------------------------------------------------------------------------------- /part-2/client/detail/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-2/client/detail/index.js -------------------------------------------------------------------------------- /part-2/client/detail/styles.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-2/client/detail/styles.css -------------------------------------------------------------------------------- /part-2/client/edit/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-2/client/edit/index.js -------------------------------------------------------------------------------- /part-2/client/edit/styles.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-2/client/edit/styles.css -------------------------------------------------------------------------------- /part-2/client/global/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-2/client/global/index.css -------------------------------------------------------------------------------- /part-2/client/global/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-2/client/global/index.js -------------------------------------------------------------------------------- /part-2/client/home/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-2/client/home/index.js -------------------------------------------------------------------------------- /part-2/client/home/plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-2/client/home/plus.png -------------------------------------------------------------------------------- /part-2/client/home/styles.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-2/client/home/styles.css -------------------------------------------------------------------------------- /part-2/client/index.ejs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-2/client/index.ejs -------------------------------------------------------------------------------- /part-2/client/launcher-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-2/client/launcher-icon.png -------------------------------------------------------------------------------- /part-2/client/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-2/client/manifest.json -------------------------------------------------------------------------------- /part-2/client/network.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-2/client/network.js -------------------------------------------------------------------------------- /part-2/client/sw.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-2/client/sw.js -------------------------------------------------------------------------------- /part-2/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-2/package.json -------------------------------------------------------------------------------- /part-2/server/db.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-2/server/db.js -------------------------------------------------------------------------------- /part-2/server/push.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-2/server/push.js -------------------------------------------------------------------------------- /part-2/server/server.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-2/server/server.js -------------------------------------------------------------------------------- /part-2/webpack.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-2/webpack.config.js -------------------------------------------------------------------------------- /part-2/webpack/plugins/SWFilePlugin.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-2/webpack/plugins/SWFilePlugin.js -------------------------------------------------------------------------------- /part-2/webpack/plugins/ShellPlugin.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-2/webpack/plugins/ShellPlugin.js -------------------------------------------------------------------------------- /part-2/webpack/plugins/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-2/webpack/plugins/index.js -------------------------------------------------------------------------------- /part-2/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-2/yarn.lock -------------------------------------------------------------------------------- /part-3/.gitignore: -------------------------------------------------------------------------------- 1 | public 2 | server/data.db -------------------------------------------------------------------------------- /part-3/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-3/README.md -------------------------------------------------------------------------------- /part-3/client/detail/edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-3/client/detail/edit.png -------------------------------------------------------------------------------- /part-3/client/detail/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-3/client/detail/index.js -------------------------------------------------------------------------------- /part-3/client/detail/styles.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-3/client/detail/styles.css -------------------------------------------------------------------------------- /part-3/client/edit/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-3/client/edit/index.js -------------------------------------------------------------------------------- /part-3/client/edit/styles.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-3/client/edit/styles.css -------------------------------------------------------------------------------- /part-3/client/global/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-3/client/global/index.css -------------------------------------------------------------------------------- /part-3/client/global/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-3/client/global/index.js -------------------------------------------------------------------------------- /part-3/client/home/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-3/client/home/index.js -------------------------------------------------------------------------------- /part-3/client/home/plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-3/client/home/plus.png -------------------------------------------------------------------------------- /part-3/client/home/styles.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-3/client/home/styles.css -------------------------------------------------------------------------------- /part-3/client/index.ejs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-3/client/index.ejs -------------------------------------------------------------------------------- /part-3/client/launcher-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-3/client/launcher-icon.png -------------------------------------------------------------------------------- /part-3/client/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-3/client/manifest.json -------------------------------------------------------------------------------- /part-3/client/sw.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-3/client/sw.js -------------------------------------------------------------------------------- /part-3/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-3/package.json -------------------------------------------------------------------------------- /part-3/server/db.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-3/server/db.js -------------------------------------------------------------------------------- /part-3/server/push.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-3/server/push.js -------------------------------------------------------------------------------- /part-3/server/server.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-3/server/server.js -------------------------------------------------------------------------------- /part-3/webpack.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-3/webpack.config.js -------------------------------------------------------------------------------- /part-3/webpack/plugins/ShellPlugin.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-3/webpack/plugins/ShellPlugin.js -------------------------------------------------------------------------------- /part-3/webpack/plugins/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-3/webpack/plugins/index.js -------------------------------------------------------------------------------- /part-3/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanjingboy/pwa-demos/HEAD/part-3/yarn.lock --------------------------------------------------------------------------------