#javascript #cordova #xmlhttprequest #cordova-plugins
#javascript #кордова #xmlhttprequest запрос #cordova-плагины
Вопрос:
Я хочу скопировать все файлы в веб-каталоге на веб-сервере, а в идеале в подкаталогах его компонентов, в локальное хранилище устройств для Android и iOS в Cordova с использованием javascript и / или плагинов cordova.
Вариант использования заключается в копировании всего (небольшого) веб-приложения / страницы с удаленного веб-сервера (которым мы управляем и где мы разместили контент) в локальное хранилище на устройстве. Это будет использовано для формы отправки горячего кода для приложения cordova.
Копировать файлы можно с помощью cordova-plugin-file-transfer:
https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-file/
или более соответствующим стандартам способом, используя XMLHttpRequest (XHR):
https://cordova.apache.org/blog/2017/10/18/from-filetransfer-to-xhr2.html
Как скопировать все дерево каталогов, перезаписав существующее, в хранилище устройства.
Предпочтительный: метод для включения обработки ошибок на случай, если что-то препятствует полной копии, что может привести к частичной копии или поврежденному каталогу.
Существует ли API или комбинация API, которые уже делают это? Если нет, есть ли у кого-нибудь или знает ли он код для достижения этой цели?
Спасибо!
Ответ №1:
Вы можете посмотреть на гидратацию phonegap для горячего нажатия :
http://docs.phonegap.com/phonegap-build/tools/hydration/
Я думаю, что это может подойти для ваших нужд.
Однако будьте очень осторожны с hot code push, потому что Apple это не очень нравится, и это скорее противоречит их рекомендациям.
Комментарии:
1. Спасибо, но это проект cordova, а не проект phonegap. Знаете ли вы хорошую библиотеку, которая использует горячий код для cordova? Я не смог найти ни одного. Я нашел пару старых / устаревших, но ничего текущего.
2. У меня была та же проблема, что и у вас, много мертвых библиотек / плагинов, и мне пришлось перейти на phonegap. Так что я вам не очень помогу, извините….
3. Спасибо. Да, на самом деле я сейчас как раз в процессе этого. Раньше не пользовался PhoneGap. Нашли ли вы какие-либо важные ошибки (например, то, что невозможно в PhoneGap, чего требуют некоторые приложения Cordova), или все прошло относительно гладко? Еще раз спасибо.
4. Обратите внимание, я использую PhonegapBuild, который является облачной службой сборки Phonegap. Самая большая проблема, с которой я столкнулся, заключалась в автоматизации процесса сборки, но без PhonegapBuild у вас не должно было возникнуть этой проблемы. В любом случае, их API теперь очень мощный. Что касается самого Phonegap, то единственное, чего я опасаюсь, — это того, что однажды разработчики не будут работать достаточно быстро, чтобы быть совместимыми с новыми продуктами Android или Apple. Но на данный момент этого никогда не было. В противном случае не беспокойтесь после 2 лет работы. В настоящее время они оба имеют очень похожий API
5. Если вы не возражаете ответить еще на один вопрос, который был бы очень полезен мне и, я надеюсь, другим… Я настроил Phonegap и успешно использовал «Гидратацию» для запуска горячего кода. Я не смог найти никакой информации о том, как настроить базовые дисплеи / поведение гидратации (что, на мой взгляд, несовместимо с производством) где-либо в Интернете или в документах Adobe. Базовое поведение заключается в том, что при первой загрузке и перезапуске пользователи приложения видят уродливый, нестайлинговый черно-белый экран с надписью, например, «Инициализация, пожалуйста, подождите». Существуют ли параметры конфигурации? Многие новые пользователи будут отказываться, а не ждать.