Как установить 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/ как и ожидалось.

Ответ 3

Важно понимать, где находится страница относительно сервера. Локальный хост или место, откуда вы обращаетесь к веб-сайту, запускается для серверов node.js.

Например, если я хочу запустить свой веб-сайт из manifest.json в качестве корневого сайта, я напишу об этом. Исходя из этого, корневой страницей файла является index.html.

{
"start_url": "/index.html"
}

Не забудьте добавить файл service-worker.js, который также подключается к странице index.html.

Вы можете обратиться к документации для получения дополнительной информации:

Рекомендации:

  1. Книга рецептов манифеста веб-приложения: https://developers.google.com/web/fundamentals/web-app-manifest

  2. Введение в Service-Worker.js https://developers.google.com/web/ilt/pwa/lab-scripting-the-service-worker

  3. Сервис-Worker.js учебник. https://developers.google.com/web/ilt/pwa/lab-scripting-the-service-worker

Ответ 4

Я даже могу перейти от DevTools > Application > Manifest > start_url к странице, переключиться в автономный режим на панели сети и перезагрузить страницу и получить полную страницу от рабочего.