#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?