Добавление пакетов в папку node_modules выпущенного приложения? - PullRequest
0 голосов
/ 27 апреля 2018

Задача

При использовании компонентов из проекта 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?
...