|  |      1sleepm      2020-03-03 02:42:58 +08:00 via Android  1 https://github.com/NekR/offline-plugin 在 stackedit 里看到过 | 
|      2yilingersier      2020-03-03 03:03:22 +08:00  1 = =我们组的某个 repo,虽然写的有点烂,但是你可以。。好像不可以了,你去搜搜 Pinterest,到 source 里看看 sw.js 文件,它们的没 encrypted,或者就是 Google 家的 workbox, 只不过它们 version 其实有 4.0 了但网页给的是 3.0 版本的 | 
|  |      3huxiaoxi1992      2020-03-03 03:13:22 +08:00 via Android  1 https://developers.google.com/web/tools/workbox react, vue 现在官方 cli 生成的默认 PWA webpack 插件用的都是 workbox,一般都走配置文件去指定需要缓存的文件。vue 生成的模板中有个 registerServiceWorker.js 文件提供了几个生命周期的钩子,可以在这里面写相关的逻辑。 vue-cli 提供的文档 https://github.com/vuejs/vue-docs-zh-cn/blob/master/vue-cli-plugin-pwa/README.md react-create-app 文档 https://create-react-app.dev/docs/making-a-progressive-web-app | 
|  |      4Mutoo      2020-03-03 08:09:52 +08:00  1 上面提到的这些 plugin 基本只是做了静态资源的缓存,远没有发挥 service worker 的优势。 推荐一本动物书《 Building Progressive Web Apps 》 里面讲的 Service Worker 生命周期与缓存管理非常值得一读,尤其是缓存的版本控制。 里面对动态数据的缓存控制策略也是非常值得学习。 | 
|  |      5int64ago      2020-03-03 08:09:54 +08:00 via Android 所以 V 站要支持 PWA 了么 | 
|  |      6int64ago      2020-03-03 08:16:30 +08:00 via Android  2 一定控制好缓存!最好加个降级开关。 别搞得用户更新不了,特别是手机浏览器 😄 | 
|  |      7J0G57faC6uPo75W0      2020-03-03 08:18:43 +08:00 via Android  1 我的网站用的是 workbox, 代码在 https://tomotoes.com/sw.js ,具体可以看楼上发的官方文档 我的 workbox 是结合我的打包脚本的和 jsDriver。 每次修改了静态资源,静态资源的链接都会变,版本控制就不必做了。 | 
|      8morethansean      2020-03-03 09:50:03 +08:00  1 哈哈哈超简单版(单纯的 cache 资源 + api 请求失败时直接用缓存;请求的错误重试做在应用层了,没丢在 sw 里): https://github.com/7nights/bv2ex/blob/master/service-worker-tpl.js | 
|  |      9Livid MOD OP PRO @morethansean 非常感谢。这个很接近我目前在做的需求。 | 
|      10yuxizhe      2020-03-03 14:10:56 +08:00 workbox | 
|      11hantsy      2020-03-03 15:37:38 +08:00 Angular 项目自己可以添加一个文件。 |