#github #vue.js #service-worker #progressive-web-apps
#github #vue.js #service-worker #progressive-веб-приложения
Вопрос:
Я запускаю сборку NPM на основе шаблона PWA, который я использую.
Структура папок на сервере следующая:
my-project -> static, index.html , service-worker
Затем я разместил на сервере, и манифест и активы возвращают 404.
В настоящее время проект находится здесь.
https://evilernie44.github.io/my-project/
Любая помощь очень ценится.
Изменение маршрутов в манифесте и на двух разных серверах
Я хочу разместить котельную в качестве отправной точки для моего PWA
Ответ №1:
Теги вашего скрипта указывают на неправильный путь. Возьмем, к примеру, этот тег:
<script type=text/javascript src=/static/js/app.98f21a65b373eaa50022.js></script>
Браузер преобразует его в https://evilernie44.github.io/static/js/app.98f21a65b373eaa50022.js , который не существует.
Правильный путь должен быть ./static/js/app.98f21a65b373eaa50022.js
. Дополнительная точка указывает браузеру создать полный URL относительно текущего пути.
В качестве альтернативы вы можете указать абсолютный путь, например, /my-project/static/js/app.98f21a65b373eaa50022.js
который указывает на правильное местоположение.
В заключение, любой из следующих 2 тегов скрипта будет работать:
<script type=text/javascript src=./static/js/app.98f21a65b373eaa50022.js></script>
<script type=text/javascript src=/my-project/static/js/app.98f21a65b373eaa50022.js></script>
Комментарии:
1. Спасибо, я попробую это сейчас. Я действительно смущен тем, почему при сборке приложения это не выполняется автоматически. Я просто ожидаю слишком многого>?#
2. Возможно, vue не знает о том, что github разместил ваше приложение в подкаталоге
3. Возможно, я пробовал это предложение. Просто чтобы уточнить, вы имеете в виду изменить скрипт внизу index.html ? Кроме того, нужно ли мне перестроить его, а затем повторно развернуть, или я должен иметь возможность просто изменить тег script?
4. Нужно ли будет также изменить остальные пути, также manifest.json и т.д.?
5. Да, все пути должны быть изменены в index.html . Я не уверен, как работают страницы github, но, вероятно, они будут автоматически обновляться при фиксации и нажатии
Ответ №2:
По умолчанию Vue CLI предполагает, что вы запускаете приложение от имени root, поэтому оно попытается загрузить файлы из ‘/’.
При развертывании в рабочей среде или во вложенной папке необходимо установить publicPath
в vue.config.js