在国外很火的PWA,在国内因为各种App的盛行倒是显得很小众,本身这是没有推广开的技术。本站之前已经部署了serviceworker,这个是构建PWA应用的主要前提。这里延续之前的文章《serviceworker配置优化版》对本站进行PWA改造的记录。
serviceworker
相关的配置看之前的文章介绍,这里不再重复记录
manifest.json
在网站的根目录创建一个manifest.json的配置文件:
{ "name": "网站的完整标题", "short_name": "网站标题简称", "start_url": "网站起始URL一般是/", "display": "这里写网站在浏览器中显示是模式,一般是standalone", "background_color": "网站的背景色16进制", "description": "网站的描述", "orientation": "网站显示的方向,一般是portrait-primary", "theme_color": "网站主题颜色,16进制", "icons": [ { // 网站放置在桌面使用的图标,一般提供192和512两个尺寸的即可 "src": "img/192.png", "sizes": "192x192", "type": "image/png" }, { "src": "img/512.png", "sizes": "512x512", "type": "image/png" }] }
注意,这里是的JSON文件,里面不能有注释部分,上面一些的文字部分为了做说明。
本站的manifest.json:
{ "name": "chaihongjun.me|柴宏俊web技术学习笔记", "short_name": "柴宏俊web技术学习笔记", "start_url": "/", "display": "standalone", "background_color": "#fff", "description": "记录chaihongjun学习web技术的个人博客,涉及的技术内容包括前端的javascript,vue,css,html后端的php和mysql数据库,以及一些linux服务器的运维知识", "orientation": "portrait-primary", "theme_color": "#fff", "icons": [ { "src": "/public/static/images/192.png", "sizes": "192x192", "type": "image/png" }, { "src": "/public/static/images/512.png", "sizes": "512x512", "type": "image/png" }] }
然后在网站的首页<head>区域添加:
<link rel="manifest" href="/manifest.json"> <meta name="theme-color" content="#fff"> <!-- color是网站主题颜色 -->
好了,至此网站的PWA改造就完成了,上述部分都是改造过程中必须完成的部分。对于PWA应用的使用情况如何,建议部署以下检测代码:
//PWA用户端监测 self.addEventListener('error', function(event) { var msg = { message: event.message, filename: event.filename, lineno: event.lineno, stack: event.error && event.error.stack }; console.error("ServiceWorker Error:", msg); // 添加日志记录 });