У меня были такие же проблемы, и, к счастью, мне удалось это понять. Вы используете Apache в качестве веб-сервера? Потому что именно отсюда и возникла моя проблема.
Apache имеет собственный каталог /icons
, и рекомендуется никогда не размещать каталог с таким именем в root вашего веб-проекта, поскольку Apache вернет 404 для любого файла, который находится в вашем каталоге /icons
. Это сообщение в блоге привело к правильному ответу: https://electrictoolbox.com/apache-icons-directory/
Поскольку мне не хотелось редактировать какую-либо конфигурацию сервера для решения проблемы, я решил скопировать gatsby-plugin-manifest
. определение значка по умолчанию от common.js
. https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-plugin-manifest/src/common.js
и замените все src: `icons/...`
на src: `favicons/...`
. Теперь мой Apache счастлив, как и я.
Вот как выглядит отрывок из моего gatsby-config.js
:
...
,{
resolve: `gatsby-plugin-manifest`,
options: {
name: `domain.com`,
short_name: `domain.com`,
start_url: `/`,
background_color: `#ffffff`,
theme_color: `#1abc9c`,
display: `minimal-ui`,
icon: `src/assets/favicon.png`,
icons: [
{
src: `favicons/icon-48x48.png`,
sizes: `48x48`,
type: `image/png`,
},
{
src: `favicons/icon-72x72.png`,
sizes: `72x72`,
type: `image/png`,
},
...
]
} ...