@Storky87

Плагин на React.js — сколько всего нужно устанавливать?

Добрый день!
Хочу сделать модуль для сайтов, с довольно сложным представлением. Что-то вроде диалогов в Baldur's Gate. Его мне гораздо проще сделать на React.js, который сейчас изучаю. Или Backbone.js, но не хочется его вспоминать.
Это будет плагин для Wordpress, который будет устанавливаться в основном на лэнидинги, для которых критична скорость загрузки.
Вопрос:
Если я напишу "Hello world" на реакте, какой минимальный обьем бибилотек, и каких нужно загрузить на сайт. Можно ли это как-то скомпилировать в один файл минимального размера.
Я так понимаю нужен сам React.js , Babel и код приложения, или только Реакт и скомпилированный код?
  • Вопрос задан
  • 191 просмотр
Пригласить эксперта
Ответы на вопрос 2
OtshelnikFm
@OtshelnikFm
Обо мне расскажет yawncato.com
Это общий вопрос по приложению, чем в целом по вордпресс.

Если вы знаете реакт - то понимаете что он + его зависимости должны загружаться. А как вы реализуете - отдельно или бандлом - это дело вкуса.
Бандлом то можно - но лучше компоненты грузить в зависимости от необходимости, а не так - чтоб было.

Я уже встречал один плагин с реактом на борту. 1000 с небольшим килобайт минимизированного js. При отдаче гзипом получается >200 килобайт. А вот не думают что клиент на своей стороне его скачать, распаковать и отрендерить должен. И не каждый клиент обладает должной памятью и быстродействием.

Так что вопрос - а точно вам реакт нужен в вп плагине? Может это как из пушки по воробьям?
Ответ написан
xakplant
@xakplant
Автор сайта xakplant.ru
Вообще можно загружать скрипт в событии.
Например вам нужно загрузить реакт и реакт дом только на страницах, где подключен шорткод. Тогда вы делаете следующие:
1. На init wp регистрируете скрипт реакта и реакт дом и может быть бабель.
function react_enquip_script(){
   // Регистрируете скрипты в WP
}

2. Создаёте событие загрузки реакта, через "вешанье" хука)
add_action('react_enquip_script', 'react_enquip_script');

3. Создаёте шотркод (это для примера)
add_shortcode('component_chat', 'component_chat');
function component_chat(){
   do_action('react_enquip_script');
   // Прочий код, в том числе подключение компонента
}


Напомню, что все скрипты должны быть загружены в папку с плагином
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы