您想让 Angular 应用可安装吗?别再等了!
在这篇博文中,您将了解如何使用 Angular 命令行界面 (CLI) 来创建 渐进式 Web 应用 (PWA)。
您可以在 GitHub 上找到本指南中的代码示例。
创建可安装的 PWA
如需将 Angular 应用转换为 PWA,您只需运行一个命令:
ng add @angular/pwa
此命令将执行以下操作:
- 使用默认缓存配置创建 Service Worker。
- 创建清单文件,该文件会告知浏览器在用户设备上安装应用后,应用应如何运行。
- 在
index.html中添加指向清单文件的链接。 - 将
theme-color<meta>标记添加到index.html。 - 在
src/assets目录中创建应用图标。
默认情况下,Service Worker 应在首次网页加载后的几秒钟内注册。如果未注册,请考虑修改 registrationStrategy。
自定义 PWA
使用 Angular Service Worker 进行预缓存博文介绍了如何配置 Angular Service Worker。您可以在其中了解如何指定希望 Service Worker 缓存哪些资源,以及应使用哪种策略来缓存这些资源。
您可以在应用的清单文件中指定应用的名称、简称、图标、主题颜色和其他详细信息。如需了解可设置的完整属性集,请参阅添加 Web 应用清单博文。
请查看 Angular CLI 生成的清单文件:
{
"name": "manifest-web-dev",
"short_name": "manifest-web-dev",
"theme_color": "#1976d2",
"background_color": "#fafafa",
"display": "standalone",
"scope": "/",
"start_url": "/",
"icons": [
{
"src": "assets/icons/icon-72x72.png",
"sizes": "72x72",
"type": "image/png"
},
…
{
"src": "assets/icons/icon-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
]
}
您可以通过更改 manifest.webmanifest 中的相关值来自定义这些属性中的任何一个。
PWA 使用 index.html 中的 link 元素引用其清单文件。浏览器找到引用后,会显示添加到主屏幕 提示: