Задача
При использовании компонентов из проекта Voyager в приложении React v15.4.2 возникают следующие ошибки:
Предупреждение: React.createElement: тип недопустим - ожидается строка
(для встроенных компонентов) или класс / функция (для составного
компоненты), но получил: не определено. Вы, вероятно, забыли экспортировать свой
компонент из файла, в котором он определен. Проверьте метод визуализации
DataSelectorBase
.
Uncaught Ошибка: недопустимый тип элемента: ожидается строка (для
встроенные компоненты) или класс / функция (для составных компонентов)
но получил: не определено. Вы, вероятно, забыли экспортировать свой компонент из
файл, в котором он определен. Проверьте метод рендеринга
DataSelectorBase
.
Локальная версия работает, выпущенная версия ломается
Я попытался npm link
локально Voyager 2.0.0-alpha.20
, и мое приложение работает без вышеуказанной ошибки.
Тем не менее, когда я использую ту же версию Voyager, выпущенную на npm (также 2.0.0-alpha.20
), у меня появляется вышеуказанная ошибка.
Затем я обнаружил, что когда я добавляю эти два пакета (react-modal
, element-class
) в:
[my_app]/node_modules/datavoyager/node_modules/
мое приложение снова работает!
Вопросы
- Что определяет, какие пакеты должны помещаться в папку
node_modules
выпущенного приложения? (Я использую yarn 1.3.2
для установки своих зависимостей, поэтому yarn
будет решать, какие пакеты вкладывать в Voyager?)
- Является ли вложенная
node_modules
хорошей практикой?
- В моем случае, как мне добавить два пакета в выпущенную версию Voyager?