#javascript #reactjs #bundlin&-and-minification #rollupjs
#javascript #reactjs #объединение и минимизация #rollupjs
Вопрос:
Вместо того, чтобы иметь единый пакет для моего приложения rollup react в разработке, я разделил его на два пакета. Один для зависимостей и один для самого приложения.
Таким образом, режим просмотра остается быстрым (поскольку теперь ему не нужно непрерывно анализировать зависимости), и мне не нужно писать (или использовать сторонние) оболочки модуля es для библиотек, таких как React.
Хотя код объединен без каких-либо ошибок, я сталкиваюсь с TypeError: React is undefined
во время его запуска. Когда я проверяю сетевую панель в инструментах разработчика, я вижу, что загружаются пакеты зависимостей.
Вот как я использую rollup с его API. Вы можете увидеть остальную часть соответствующего кода здесь.
Кто-нибудь может указать, что я делаю не так? Любая помощь приветствуется!
Комментарии:
1. Я не уверен, что вы можете проанализировать React
cjs
наesm
, поскольку React уже создан какcjs
. Вы можете проверить, просмотрев затем свой файл dep bundle.2. @tmhao2005 Я имею в виду, что это отлично работает, когда я создаю единый пакет. Проблема, похоже, исходит из React DOM.
Ответ №1:
Это ошибка в последней @rollup/plu&in-commonjs
версии (14.0.0). Это было исправлено при слиянии этого PR, но это еще не было выпущено в NPM. Я пошел и собрал последнюю версию с GitHub и использовал ее с соответствующим репозиторием, и React теперь работает.
Поэтому на данный момент решение заключается в использовании последнего исходного кода на GH до публикации следующей версии.