Tengo dos aplicaciones React. Una es la aplicación remota y la otra es la aplicación host. La aplicación remota usa Webpack 5 con el que he federado el módulo. La aplicación host usa Rollup para todos los propósitos. Quiero que la aplicación host use el módulo federado. ¿Cómo puedo conseguir esto?
A continuación se muestra cómo hemos expuesto la aplicación remota que se ejecuta en el puerto 3000.
name: "ResetPassword", filename: "remoteEntry.js", remotes: {}, exposes: { "./ResetPassword": "./src/pages/create-password", }, shared: { ...packageJsonDeps, react: { singleton: true, requiredVersion: packageJsonDeps.react }, "react-dom": { singleton: true, requiredVersion: packageJsonDeps["react-dom"] } }, })Este ejemplo oficial de Module Federation resuelve exactamente este problema.
Básicamente -
remotes .sharedConsulte este artículo para obtener un tutorial simple.
por cierto, es una buena práctica definir las bibliotecas/paquetes compartidos en su paquete.json algo así como
shared: require('../package.json').dependencies