如何把网站改成PWA , 首先我们要了解知道什么是PWA
1. PWA是什么Progressive Web Apps (下文以“PWAs”代指) 是一个令人兴奋的前端技术的革新 。PWAs综合了一系列技术使你的 web app表现得就像是 native mobile app 。相比于纯 web 解决方案和纯 native 解决方案 , PWAs对于开发者和用户有以下优点:
- 你只需要基于开放的 W3C 标准的 web 开发技术来开发一个app 。不需要多客户端开发 。
- 用户可以在安装前就体验你的 app 。
- 不需要通过 AppStore 下载 app 。app 会自动升级不需要用户升级 。
- 用户会受到‘安装’的提示 , 点击安装会增加一个图标到用户首屏 。
- 被打开时 , PWA 会展示一个有吸引力的闪屏 。
- chrome 提供了可选选项 , 可以使 PWA 得到全屏体验 。
- 必要的文件会被本地缓存 , 因此会比标准的web app 响应更快(也许也会比native app响应快)
- 安装及其轻量 -- 或许会有几百 kb 的缓存数据 。
- 网站的数据传输必须是 https 连接 。
- PWAs 可以离线工作 , 并且在网络恢复时可以同步最新数据 。
2. 步骤将你的网站改进为一个 Progressive Web App 总共有三个必要步骤:
2.1 第一步:开启 HTTPS由于一些显而易见的原因 , PWAs 需要 HTTPS 连接 。HTTPS 在示例代码中并不是必须的 , 因为 Chrome 允许使用 localhost 或者任何 127.x.x.x 的地址来测试 。你也可以在 HTTP 连接下测试你的 PWA , 你需要使用 Chrome , 并且输入以下命令行参数:
- --user-data-dir
- --unsafety-treat-insecure-origin-as-secure
manifest文件是一个 JSON 格式的文件 , 位于你项目的根目录 。它必须用Content-Type: application/manifest+json 或者 Content-Type: application/json这样的 HTTP 头来请求 。这个文件可以被命名为任何名字 , 在示例代码中他被命名为 /manifest.json:
{"name": "PWA Website","short_name": "PWA","description": "An example PWA website","start_url": "/","display": "standalone","orientation": "any","background_color": "#ACE","theme_color": "#ACE","icons": [{"src": "/images/logo/logo072.png","sizes": "72x72","type": "image/png"},{"src": "/images/logo/logo152.png","sizes": "152x152","type": "image/png"},{"src": "/images/logo/logo192.png","sizes": "192x192","type": "image/png"},{"src": "/images/logo/logo256.png","sizes": "256x256","type": "image/png"},{"src": "/images/logo/logo512.png","sizes": "512x512","type": "image/png"}]}
在页面的<head>中引入:<link rel="manifest" href=https://www.isolves.com/it/cxkf/bk/2020-04-26/"/manifest.json">
manifest 中主要属性有:- name —— 网页显示给用户的完整名称
- short_name —— 当空间不足以显示全名时的网站缩写名称
- description —— 关于网站的详细描述
- start_url —— 网页的初始 相对 URL(比如 /)
- scope —— 导航范围 。比如 , /app/的scope就限制 app 在这个文件夹里 。
- background-color —— 启动屏和浏览器的背景颜色
- theme_color —— 网站的主题颜色 , 一般都与背景颜色相同 , 它可以影响网站的显示
- orientation —— 首选的显示方向:any, natural, landscape, landscape-primary, landscape-secondary, portrait, portrait-primary, 和 portrait-secondary 。
- display —— 首选的显示方式:fullscreen, standalone(看起来像是native app) , minimal-ui(有简化的浏览器控制选项) 和 browser(常规的浏览器 tab)
推荐阅读
- 如何快速处理mysql连接数占满的问题?
- Go的泛型真的要来了—如何使用以及它们是怎么工作的
- 把猫送人了猫会伤心吗?
- Mysql 单表适合的最大数据量是多少?如何优化其性能?
- 在 Excel 中如何正确输入身份证号?
- 网站推广如何应对劲风算法?劲风算法又是什么?
- PDF如何转Excel?PDF转Excel的操作方法!
- 如何在淘宝网开店步骤 淘宝开网店需要注意什么
- 如何识别洛神花加色素,洛神花茶的功效及其作用
- 淘宝怎样升级最新版本 淘宝如何快速升级