Использование PHP-интерфейса с приложением React - PullRequest
0 голосов
/ 23 января 2019

У меня есть приложение реагирования, и я запускаю npm run build для создания пакета сборки, который я загружаю на S3. скажем www.test.com/build/

но у меня есть PHP-бэкэнд, который должен отвечать за обслуживание index.html (от www.test.com/index.html)

поскольку нет связи с корзиной S3 и приложением PHP, я не знаю, как обращаться с хешированными именами в приложении реагирования

Я не могу сгенерировать пакет сборки без хэшей, потому что потеряю кеш-буфер.

Каковы хорошие практики для работы с приложениями реагирования и приложениями бэкэнда. В данном случае это PHP, но я думаю, что проблема должна быть та же с бэкэндом NodeJS, размещенным на другом сервере.

Я использую AWS CodePipeline для сборки приложения реакции (npm run build) и приложения php (установка композитора)

Ответы [ 2 ]

0 голосов
/ 01 февраля 2019

PHP не нужно знать о файлах JS с хэшами или без них.Ваш сервер PHP будет обслуживать только файл index.html.Ваш файл index.html содержит файлы javascript точки входа.

<script type="text/javascript" src="/js/vendor.bundle.js"></script>
<script type="text/javascript" src="/js/index.js"></script>

Когда ваш сервер PHP обслуживает файл index.html, в браузер клиента он загружает необходимый код реакции и другой js-код через чанк, используя файлы поставщика и индексные файлы (или какими бы ни были ваши имена файлов).

Что если вам нужно использовать vendor.bundle.js и index.js с хешами?

Следующие модули помогут вам.

Модуль-1: https://www.npmjs.com/package/webpack-manifest-plugin Этот модуль поможет вам отслеживать сгенерированные хэшированные файлы.

Модуль-2: https://www.npmjs.com/package/html-replace-webpack-plugin Используя этот модуль, вы можете заменить файлы точек входа именами хеш-файлов, полученными из модуля-1.

0 голосов
/ 29 января 2019

1.Вы можете это знать, но просто подтверждаете, что хотите сделать это без размещения файла индекса на сервере (astic beranstalk), почему бы вам не использовать тег <iframe> в файле индекса.

2.Вы можете использовать $html = file_get_contents('http://stackoverflow.com/questions/ask'); метод php, который использует меньше кода и усилий, чем curl.

curl что вы уже знаете.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...