Как установить start_url файла manifest.json в качестве корня сайта?
У меня есть manifest.json
и у него есть свойство start_url
которое я хочу указать на первый файл моего приложения с одной страницей.
Это index.html
, и это корень сайта. Я хочу, чтобы это было start_url
, но этот файл никогда не запрашивается как URL-адрес.
Как указать start_url
на относительный корень сайта?
Например, предположим, что сайт находится на https://example.com
, каково должно быть значение start_url
в https://example.com/manifest.json
? Я хочу, чтобы PWA начинался с https://example.com
а не https://example.com/index.html
. PWA может быть помещен в другой домен, поэтому start_url
должен быть относительным, а не абсолютным.
Ответы
Ответ 1
Если вы работаете в корне сайта, например https://example.com/manifest.json
или https://test.example.com/manifest.json
вы можете использовать "start_url": "/"
.
Однако это также сопоставит https://example.com/test/manifest.json
с https://example.com/
, что не удается из-за того, что оно находится в папке вне области манифеста.
Вместо этого, если вы используете подкаталог, вам нужно установить и scope
и start_url
:
"start_url": "./"
"scope": "."
Это приведет к тому, что https://example.com/test/manifest.json
отобразится на https://example.com/test/
как и ожидалось.
Ответ 2
Ваш start_url должен быть установлен следующим образом в вашем файле манифеста.
"start_url": "/"
Источник: https://developers.google.com/web/fundamentals/integration/webapks
Ответ 3
Важно понимать, где находится страница относительно сервера. Локальный хост или место, откуда вы обращаетесь к веб-сайту, запускается для серверов node.js.
Например, если я хочу запустить свой веб-сайт из manifest.json в качестве корневого сайта, я напишу об этом. Исходя из этого, корневой страницей файла является index.html.
{
"start_url": "/index.html"
}
Не забудьте добавить файл service-worker.js, который также подключается к странице index.html.
Вы можете обратиться к документации для получения дополнительной информации:
Рекомендации:
Книга рецептов манифеста веб-приложения: https://developers.google.com/web/fundamentals/web-app-manifest
Введение в Service-Worker.js https://developers.google.com/web/ilt/pwa/lab-scripting-the-service-worker
- Сервис-Worker.js учебник. https://developers.google.com/web/ilt/pwa/lab-scripting-the-service-worker
Ответ 4
Я даже могу перейти от DevTools > Application > Manifest > start_url
к странице, переключиться в автономный режим на панели сети и перезагрузить страницу и получить полную страницу от рабочего.
Ответ 5
Добавьте эту строку в свой манифест. Json
"start_url": "WhereEverYouNeedToRedirect",
Удостоверьтесь, что вы поддерживаете структуру своего manifest.json
Следующие статьи могут быть полезны:
https://developers.google.com/web/fundamentals/web-app-manifest/
https://developer.mozilla.org/en-US/docs/Web/Manifest