Guía de inicio rápido
Esta guía te enseñará paso a paso a usar Module Federation. Crearemos dos Single Page Applications (SPA) independientes que compartirán componentes mediante Module Federation. Si encuentras términos que no conoces en el texto siguiente, consulta el Glosario.
Requisitos
Cuando uses los plugins de build de Module Federation, asegúrate de que tu versión de Node.js sea la 20 o superior.
Si vas a añadir Module Federation a un proyecto existente, empieza por Integraciones y elige el paquete correspondiente a tu framework o bundler.
Crear un proyecto nuevo
Module Federation ofrece la herramienta create-module-federation para crear proyectos. No necesitas instalarla de forma global; puedes ejecutarla bajo demanda directamente con npx.
Puedes usar create-module-federation para crear un proyecto de Module Federation ejecutando el siguiente comando:
Solo tienes que seguir las indicaciones paso a paso. Durante el proceso de creación, puedes seleccionar el tipo de proyecto, el tipo de rol, etc.
Plantillas
Al crear un proyecto, puedes elegir entre las siguientes plantillas que ofrece create-module-federation:
Creación rápida
create-module-federation ofrece algunas opciones de CLI. Si las configuras, puedes omitir los pasos de selección interactiva y crear un proyecto con un solo clic.
Por ejemplo, para crear con un solo clic un proyecto provider de Modern.js llamado provider en el directorio my-project:
Las opciones de CLI completas de create-module-federation son las siguientes:
Crear un provider
Ejecuta el comando create-module-federation, selecciona el framework y el tipo que necesites y elige provider como tipo de rol para crear el proyecto.
Aquí tomamos como ejemplo la creación de un proyecto provider con Rsbuild:
Crear un consumer
Ejecuta el comando create-module-federation, selecciona el framework y el tipo que necesites y elige consumer como tipo de rol para crear el proyecto.
Este es un ejemplo de creación de un proyecto consumer con Rsbuild:
Reemplazar el provider
El proyecto consumer creado por defecto consume un provider ya publicado. Si quieres reemplazar el provider, debes modificar la configuración remotes en module-federation.config.ts.
Integración en un proyecto existente
Si quieres integrar Module Federation en un proyecto existente, empieza por Integraciones. Allí se explica qué paquete instalar para Rsbuild, Rspack, Webpack, Modern.js, Next.js, Vite y otros tipos de proyecto.
Resumen
Con el proceso anterior, has exportado un componente desde un 'provider' para que lo use un 'consumer' con Module Federation. Por el camino, has usado y entendido de forma preliminar las configuraciones de remotes, exposes y shared del plugin de Module Federation.
Si quieres añadir Module Federation a un proyecto existente, empieza por Integraciones y elige la ruta que corresponda.
Próximos pasos
Quizá te interese: