Конфигурация Webpack для приложения Phonegap и React?

Я создаю это приложение для Android / iOS с помощью Phonegap, которое будет построено на React (а не на React Native). Я настроил веб-пакет в соответствии со своими потребностями и когда я запускаю npm run build, средство просмотра приложений Android на телефоне правильно отображает приложение. Но проблема в том, если я изменяю какой-либо файл в папке www, предоставленной webpack, сервер Phonegap принимает изменения, но в средстве просмотра Android не повторно отображает представление.

Любая идея, как я могу упростить весь процесс с помощью веб-пакета, чтобы обслуживаемый веб-пакет контент мог быть получен телефонным приложением Phonegap, или веб-пакет будет выплевывать файлы в папке www на лету, а сервер Phonegap подберет его и отобразит представление на собственном сервере или в андроид приложении Phonegap?

Вот моя структура папок -

Конфигурация Webpack для приложения Phonegap и React?

Phonegap обслуживает файлы с www на мой телефон Android. Но когда я вручную меняю какой-либо файл, Phonegap принимает изменения, но страница не отображается повторно на телефоне.

В то же время, как я могу настроить webpack для внесения изменений в папку сборки www на лету, когда я сохраняю файл из src с новым изменением? Итак, что Phonegap улавливает изменения и повторно выполняет рендеринг?

2
0
467
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В конфигурационном файле webpack укажите в качестве места назначения для вывода вашу папку www. Вот пример того, как у меня это работает:

entry: './src/index',
output: {
  path: path.resolve(__dirname, 'www'),
  filename: '[name].bundle.js',
  hotUpdateChunkFilename: 'hot/hot-update.js',
  hotUpdateMainFilename: 'hot/hot-update.json',
},

Таким образом, ваш связанный файл .js будет вставлен в www/ или www/js/ или где угодно, и phonegap serve примет изменения.

Я также использовал webpack-dev-server и write-file-webpack-plugin, так что первый фактически будет записывать в файл main.bundle.js, но у меня были некоторые проблемы, когда горячая замена происходила слишком медленно, телефонный промежуток собирал горячие файлы, которые были временно вставлены, а затем удалены, и обслуживание телефонного разговора давало сбой, потому что в конечном итоге эти временные файлы не были найдены. Пробую webpack -w сейчас.

Другие вопросы по теме