我正在构建一个渐进式网络应用。我从create-react-app开始使用样板文件。然后我添加了一个Web应用程序清单。
应用程序/公共/的manifest.json
{
"short_name": "First Contributions",
"name": "First Contributions",
"icons": [
{
"src": "/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/android-chrome-256x256.png",
"sizes": "256x256",
"type": "image/png"
}
],
"theme_color": "#ffffff",
"background_color": "#ffffff",
"display": "standalone",
"start_url": "index.html"
}
将其与index.html
应用程序/公共/ index.html中
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">
<link rel="manifest" href="%PUBLIC_URL%/manifest.json">
<title>First Contributions</title>
</head>
<body>
<div id="root"></div>
<script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('service-worker.js').catch(function(ex) {
console.warn(ex);
console.warn('(This warning can be safely ignored outside of the production build.)');
});
}
</script>
</body>
</html>
我使用realfavicongenerator.net
生成了图标并将它们放在公共目录中。
我正在使用gh-pages
部署我的应用。当我尝试 Add to homescreen
时,我收到以下错误
- android-chrome-192x192.png:1 GET https://roshanjossey.github.io/android-chrome-192x192.png 404(未找到)
- 尝试使用Manifest中的以下图标时出错:https://roshanjossey.github.io/android-chrome-192x192.png(下载错误或资源不是有效图片)
- 无法安装网站:无法显示图标
我认为我在webmanifest中为图标做错了。
答案 0 :(得分:9)
您的图标路径引用根目录。
将"src": "/android-chrome-192x192.png",
更改为"src": "android-chrome-192x192.png",
(开头没有/
)。