Модуль не найден: вы пытались импортировать react, который находится за пределами каталога src проекта/

#javascript #reactjs #npm #lerna

#javascript #reactjs #npm #lerna

Вопрос:

У моей команды есть большое приложение react, которое является monorepo через lerna. Все шло нормально, пока мы не заметили, что наш пакет стал размером около 6 МБ. Я начал изучать его и понял, что мы не устанавливали общие зависимости.

Наш процесс сборки был

npm install
lerna bootstrap
npm run build:app

И это прекрасно создает наш традиционный пакет, я подумал, что могу просто заменить

lerna bootstrap

с помощью

lerna bootstrap —подъем

Но это приводит к тому, что наш процесс сборки выдает исключение

Модуль не найден: Ошибка: Вы пытались импортировать /myAppBuild/packages/MyApp/node_modules/react, который находится за пределами каталога src/ проекта. Относительный импорт за пределами src / не поддерживается. Вы можете либо переместить его внутрь src /, либо добавить к нему символическую ссылку из node_modules проекта /.

Если я сделаю следующее

npm install
lerna bootstrap
lerna bootstrap —поднять
npm run build:app

тогда это работает просто отлично. Я знаю, что проблема как-то связана с node_modules и зависимостями, но кто-нибудь может помочь точно определить, где именно?

Комментарии:

1. Lerna по умолчанию не «поднимает общие зависимости». Вы должны добавить параметр —hoist . Но проблема заключается в том, что «Модуль не найден: ошибка: Вы пытались импортировать». Вы пробовали последнюю версию lerna?