Проблема версии Webpack Module Federation React в NextJS

У меня есть приложение для реагирования, которое мне нужно запустить внутри хост-приложения NextJS и запустить его самостоятельно.

В примере NextJS на https://github.com/module-federation/module-federation-examples/tree/master/nextjs-react есть примечания, что:

ПРИМЕЧАНИЕ. Если версия: «0» опущена, вы столкнетесь с проблемой, когда копия реакции будет загружена из удаленного входа.

ПРИМЕЧАНИЕ. Еще одна проблема, с которой вы можете столкнуться, — недопустимый вызов ловушки, если вы объединяете компонент, использующий реактивные ловушки. Это напрямую связано с одновременным выполнением нескольких копий реакции. Вышеупомянутое решает это.

Я настроил удаленное приложение с ModuleFederationPlugin:

shared: {
  react: {
    singleton: true,
    requiredVersion: false,
    version: "0"
  },
  "react-dom": {
    singleton: true,
    requiredVersion: false,
    version: "0"
  }
}

Это работает при работе внутри хоста NextJS. Но когда я запускаю свое федеративное приложение самостоятельно, я получаю TypeError: n.n(...)(...).createContext is not a function. Если я удаляю версию: «0», тогда я получаю неверный вызов ловушки при запуске внутри хоста NextJS.

Можно ли справиться с обоими случаями или иметь запасной вариант на случай, если в общей области нет версии реакции?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
56
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я обнаружил, что мне нужно добавить:

resolve: {
  alias: {     
    react: path.resolve("./node_modules/react")
  }
}

Другие вопросы по теме