Jak*_*jew 3 progressive-web-apps angular pwa
我正在尝试在我的应用中使用Service worker。
我已经添加了@angular/pwa,注册了服务人员:
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/ngsw-worker.js', {
scope: '/'
}).then((registration) => {
console.log("Service worker OK!")
});
}
Run Code Online (Sandbox Code Playgroud)
当我在本地运行Google Lighthouse时,一切正常,并且网站以在线模式运行,但是当我将应用程序上载到服务器时,我发现Lighthouse中的错误:
No manifest was fetched.
Run Code Online (Sandbox Code Playgroud)
我使用错误的路径吗?
manifest.json:
"start_url": "/index.html",
Run Code Online (Sandbox Code Playgroud)
该错误意味着您的index.html文件不会告诉浏览器有关清单的信息。添加:
<link rel="manifest" href="manifest.json">
Run Code Online (Sandbox Code Playgroud)
添加后@angular/pwa,请仔细检查以下内容:
1.在angular.json文件的资产下,添加manifest.json,如下所示
"assets": [
"src/favicon.ico",
"src/assets",
"src/manifest.json"
],
Run Code Online (Sandbox Code Playgroud)
2.您的manifest.json文件应该在src/目录中,所以src/manifest.json
3然后,在您的ngsw-config.json文件中,应具有以下内容:
"files": [
"/favicon.ico",
"/index.html",
"/manifest.json"
],
Run Code Online (Sandbox Code Playgroud)
完成上述三个步骤,您就可以开始了。
| 归档时间: |
|
| 查看次数: |
1957 次 |
| 最近记录: |