Конфигурация Webpack для приложения Phonegap и React? - PullRequest
0 голосов
/ 26 сентября 2018

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

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

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

folder structure

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

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

1 Ответ

0 голосов
/ 16 марта 2019

В файле конфигурации веб-пакета установите выходной каталог для вашей папки 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, но у меня были некоторые проблемы, когда горячая замена происходила слишком медленно, PhoneGap собирал горячие файлы, которыебыли временно вставлены, а затем удалены, и служба телефонной связи терпела крах, потому что в конечном итоге эти временные файлы не были найдены.Попытка webpack -w сейчас.

...