#wordpress #reactjs
#wordpress #reactjs
Вопрос:
Я работаю в организации, у которой есть веб-сайт WordPress, я создаю приложение react, которое будет извлекать данные из базы данных WordPress через wordpress API. Я пытаюсь выяснить, как я могу сказать wordpress, чтобы он обслуживал приложение react так, как если бы пользователь просто посещал другую страницу нашего сайта. Возможно ли это или мой единственный вариант обслуживать приложение react на другом сервере?
Комментарии:
1. Вы пробовали обслуживать статический html с помощью WordPress? В принципе, вы можете сделать то же самое, если ваше приложение react создано с помощью create-react-app, где вы можете просто создать html-сборку (одной командой) и позволить WordPress обслуживать ее. Существуют другие, более гибкие способы, такие как использование обратного прокси, такого как nginx (если это вариант для вас)
2. Что мы все хотим знать, чтобы помочь, так это как вы создаете свое приложение react. Это тривиально в react, предназначенном для вас контейнере приложения, поэтому в зависимости от ваших целей вы можете создать короткий код или пользовательский шаблон для вывода вашего корневого элемента.
3. да, я использовал create-react-app, и после запуска npm run build у меня появилась html-страница, которую я смог открыть из своей файловой системы в браузере, чтобы нормально запустить мое приложение react. Затем я попытался переименовать этот html в php и заставить wordpress обслуживать его, но я получил ошибки, из-за которых не удалось найти ни один из файлов css или js.
Ответ №1:
Первое, что нужно знать о React на стандартном сервере: вы сможете обслуживать свое приложение react отдельно на том же сервере, только если у вас есть доступ к CLI (командной строке). React должен быть собран с помощью webpack, поэтому будет невозможно скомпилировать, создать и обслуживать ваше приложение react без использования npm
или yarn
.
Если у вас нет доступа к командной строке, а редактор WordPress Gutenberg доступен внутри вашего WordPress, я предлагаю вам поместить React в вашу тему / пользовательскую тему или внутри плагина. Ссылка стоимостью в 100 слов, пожалуйста, взгляните наhttps://javascriptforwp.com/enqueue-react-in-wordpress / для того, чтобы сделать это правильно.
По сути, вам просто нужно будет установить идентификатор или имя класса для элемента вашего тела DOM, затем React будет смонтирован в этом блоке, и для этого вы будете использовать метод ReactDOM render () из wp.element
JS object (React lib доступен и предоставляется в редакторе Gutenberg 😊)
Надеюсь, это поможет вам с вашим вопросом 😇
Комментарии:
1. Я категорически не согласен с этим советом. Использование встроенного react для ваших публичных просмотров означает, что вы навсегда будете использовать устаревший react. Кроме того, если вы используете приложение Create React или что-то подобное, это не будет плохо работать, если вообще будет работать.
Ответ №2:
Я понял это. Спасибо за ваши предложения. Я решил создать подкаталог в моей папке public_html и поместить туда приложение react.