[PWA] sw-precache

Link to CodeLab

In this codelab, we‘ll retrace those steps but this time we‘ll use a tool called sw-precache to add offline functionality with only six lines of code. It‘s never been easier to add service worker support to an existing app, and we‘ll show you how in this codelab.

Learning:

  • What the sw-precache tool is and how it can help you be more productive
  • How to add a basic service worker to an existing project using sw-precache

Install:

git clone https://github.com/GoogleChrome/airhorn.git
cd airhorn
git checkout code-labnpm installnpm install --save-dev sw-precache
cd app
python -m SimpleHTTPServer 3000

Gulp:

// Generate sw.js
gulp.task(‘generate-service-worker‘, function(callback) {
  var path = require(‘path‘);
  var swPrecache = require(‘sw-precache‘);
  var rootDir = ‘app‘;

  swPrecache.write(path.join(rootDir, ‘sw.js‘), {
    staticFileGlobs: [rootDir + ‘/**/*.{js,html,css,png,jpg,gif,mp3}‘],
    stripPrefix: rootDir
  }, callback);
});

Run:

gulp generate-service-worker

Then in app folder, you should see sw.js file generated.

HTML: inisde index.html:

            <script>
                  if (‘serviceWorker‘ in navigator) {
                        navigator.serviceWorker.register(‘/sw.js‘).then(function() {
                              console.log("Service Worker Registered");
                        });
                  }
            </script>

Verify Your App:

cd app
python -m SimpleHTTPServer 3000

Open chrome://serviceworker-internals/ in Chrome. This will show you a list of all the registered service workers, which you can use to verify your service worker has indeed properly registered.

Kill the serve and reload the page, everything should work as the same.

时间: 2024-11-10 07:46:59

[PWA] sw-precache的相关文章

PWA(Progressive Web App)入门系列:(一)PWA简介

前言 PWA做为一门Google推出的WEB端的新技术,好处不言而喻,但目前对于相关方面的知识不是很丰富,这里我推出一下这方面的入门教程系列,提供PWA方面学习. 什么是PWA PWA全称Progressive Web App,直译是渐进式WEB应用,是 Google 在 2015 年提出,2016年6月才推广的项目.是结合了一系列现代Web技术的组合,在网页应用中实现和原生应用相近的用户体验. 所谓的P(Progressive)这里有两层含义,一方面是渐进增强,让WEB APP的体验和功能能够

PWA(Progressive Web App)入门系列:(一)PWA简单介绍

前言 PWA做为一门Google推出的WEB端的新技术,长处不言而喻.但眼下对于相关方面的知识不是非常丰富.这里我推出一下这方面的新手教程系列.提供PWA方面学习. 什么是PWA PWA全称Progressive Web App,直译是渐进式WEB应用,是 Google 在 2015 年提出,2016年6月才推广的项目.是结合了一系列现代Web技术的组合.在网页应用中实现和原生应用相近的用户体验. 所谓的P(Progressive)这里有两层含义,一方面是渐进增强,让WEB APP的体验和功能能

经典文摘:饿了么的 PWA 升级实践(结合Vue.js)

自 Vue.js 官方推特第一次公开到现在,我们就一直在进行着将饿了么移动端网站升级为 Progressive Web App 的工作.直到近日在 Google I/O 2017 上登台亮相,才终于算告一段落.我们非常荣幸能够发布全世界第一个专门面向国内用户的 PWA,但更荣幸的是能与 Google.UC 以及腾讯合作,一起推动国内 web 与浏览器生态的发展. 您可能感兴趣的相关文章 网站开发中很有用的 jQuery 效果[附源码] 分享35个让人惊讶的 CSS3 动画效果演示 十分惊艳的8个

PWA之 Service worker

渐进式 Web 应用(Progressive Web Apps,也被称为 PWAs)是 Web 技术方面一项令人兴奋的创新.PWA 混合了多项技术,能够让 Web 应用的功能类似于原生移动应用.它为开发人员和用户带来的收益能够突破纯 Web 解决方案和纯原生解决方案的限制: 你只需要一个按照开放.标准 W3C Web 技术开发的应用,不需要开发单独的原生代码库: 用户在安装之前就能发现并尝试你的应用: 没有必要使用 AppStore,无需遵循复杂的规则或支付费用.应用程序会自动更新,无需用户交互

[PWA] Add Push Notifications to a PWA with React in Chrome and on Android

On Android and in Chrome (but not on iOS), it's possible to send push notifications with a PWA. We'll start by asking the user for permission to send them push notifications, and then look at how to intercept the push event in a service worker. We ca

PWA的探索与应用

本文由云+社区发表 PWA(Progressive Web App)起源背景 传统的Web网页存在以下几个问题: 进入一个页面必须要记住它的url或者加入书签,入口不便捷: 没网络就没响应,不具备离线能力: 不像APP一样能进行消息推送. Native app: 开发成本高 软件上线需要审核 即使使用频率不高,想使用一个app必须先下载安装 PWA概念的提出 2016 年Google I/O 大会上提出一个 Next Web Generation 的概念.PWA是在传统Web应用的基础上,结合M

PWA 替身術:ServiceWorker - caches

在 PWA 偽裝術:manifest.json 我們透過 manifest.json 來讓 Web 可以在桌面上產生捷徑,並在執行時隱藏了不需要的網址列,讓外觀上跟一般 App 已無太大差異,接下來我們要解決 Web App 的另一大難題-離線機制,雖然說現在的系統幾乎都是透過網路與後端資料做即時交換,可說如果沒有網路的話過半數的 App 大概都會失去它的功用,但是與網頁不同的是在沒有網路狀態下仍然有畫面,而網頁則會顯示瀏覽器預設的警示畫面,相較之下對於一般使用者來說較不友善,而起好一點的 Ap

说说 PWA 和微信小程序--Progressive Web App

作者:云图图链接:https://zhuanlan.zhihu.com/p/22578965来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 利益相关:微信小用户,谷歌小员工 微信发布了微信小程序,虽然还在内测阶段,但是无论从技术上,还是以后要不要开发原生应用(native app)上引发了不少讨论.其实看到微信小程序的消息, 我第一时间想到的是 Google 之前推出的PWA(Progressive Web App),两者的目的是类似的(伪原生应用),但是形式却又

[PWA] 2. Service worker life cycle

Once serive worker is registered, the first time we go to the app, we cannot see the logs from servcie works. Any only refersh it second time, then we able to see the logs. Once we change service worker, it doesn't seem that we have change it. The No

[PWA] 3. Devtool

You can debug with chrom dev tool: 1. Use console to debug service worker: Swith to sw.js context then you can access 'self' object 2. Set breakpoint: You can see all the event object. 3. You can see the active service worker: 4. Once you change the