@candybooberr

Reactjs плагины и requirejs, как?

Всем привет. Использую Backbone, React, requirejs. Всё было хорошо, пока не начал ставить плагины подобный react-telephone-input или react-onlickoutside mixin. Ловлю ошибки подобные тому, что плагины не обёрнуты в соответствующий

define(function(require){/* не интересные подробности */});
а просто

var foo = require('bar');
точнее requirejs.org/docs/errors.html#notloaded - там и сказано, что нужно это дело обернуть. Не переписывать же плагины, верно? Кто как с этим борется? Еще один аспект, использую bower, а не npm и тем самым, когда ставлю пакет с зависимостями мне несколько сложнее справить с этим кустом зависимостей. Когда смотрел исходники плагина, видел строки типа

var map = require('lodash/collections/map');
Если ставить через npm - всё так и получается, кроме обёртки, а с bower - всё приходит одним файлом. Заранее благодарю всех за отзывчивость.
  • Вопрос задан
  • 375 просмотров
Решения вопроса 1
AlekseyNemiro
@AlekseyNemiro
full-stack developer
Не переписывать же плагины, верно? Кто как с этим борется?


Использую TypeScript и Visual Studio. Итоговый JavaScript сам собирается в нужном виде, достаточно выбрать систему модулей в свойствах проекта.

Но с некоторыми библиотеками React в AMD возникали проблемы. И да, единственным решением было внесение изменений в код этих компонентов, что не очень хорошо и не факт, что можно будет отделаться парой простых изменений.

В итоге пришлось использовать Webpack. Опыт работы с RequireJS сильно усложнил миграцию и в какие-то моменты я даже пытался прикрутить RequireJS в Webpack :-) Так что про RequireJS лучше полностью забыть.

Реализация с Webpack мне нравится больше, но настроек придется написать много и иногда все это дело глючит. С использованием загрузчиков, на выходе можно получить все что угодно из чего угодно.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
05 нояб. 2024, в 10:42
15000 руб./за проект
05 нояб. 2024, в 10:41
100000 руб./за проект