Básico CRA com Rsbuild
Check out o exemplo projeto list here: Rsbuild CRA
Configuração Environment
Antes getting started, você vai precisa instale Node.js, e ensure esse seu Node.js versão >= 16. We recommend usando o LTS versão de Node.js 20.
Você pode check o currently usado Node.js versão com o seguintes comando:
Se você não have Node.js installed em your current environment, ou o installed versão é too low, você pode use nvm ou fnm para instalar o obrigatório versão.
Here é um exemplo de como para instalar o Node.js 20 LTS versão via nvm:
Step 1: Configuração React Aplicações
Crie React Project
Você pode use create-rsbuild para criar um projeto com Rsbuild + React. Just execute o seguintes comando:
Crie App 1
Crie App 2
Instale
Use React em um existente projeto
To compile React, você precisa registrar o Rsbuild React Plugin. O plugin vai automatically adicione o necessário configuração for React builds.
Por exemplo, register em rsbuild.config.ts:
For projetos usando Create React App, você pode refer para o CRA Migration Guia.
Ensure esse Webpack versão 5 ou above é installed by checking o instalação report fornecido by Yarn.
Step 2: Installing Module Federation Plugin de build
Step 3: Update Entry Arquivos
In both aplicações, rename o index.js arquivo para bootstrap.js. Essa mudança allows bootstrap.js para carregar asynchronously, que é essential for Module Federation para função correctly entre o two aplicações.
Update o contents de bootstrap.tsx para o seguintes:
Now, crie uma nova index.tsx arquivo em both aplicações com o seguintes content para importe bootstrap.tsx:
Step 4: Crie e Exponha
Now, crie um componente para exponha de MFE2
4.1 Crie Button Componente
In MFE2, crie uma nova arquivo chamado Button.tsx no src diretório com o seguintes content:
4.2 Update App.tsx
Update App.tsx em MFE2 para importe e render o Button componente:
Step 5: Configure Rsbuild em MFE2
First crie module-federation.config.ts em arquivo no root diretório de MFE2 com o seguintes configuração:
E then modify o rsbuild.config.ts arquivo no root diretório de MFE2 com o seguintes configuração:
Step 6: Consuma Remote Módulo
Consuma o módulo exposto de MFE2 em MFE1
6.1 Update App.tsx
Update App.tsx em MFE1 para importe e render o MFE2 Button componente:
Step 6.2: Configure Rsbuild em MFE1
First crie module-federation.config.ts em arquivo no root diretório de MFE1 com o seguintes configuração:
E then modify o rsbuild.config.ts arquivo no root diretório de MFE1 com o seguintes configuração:
Este configuração initiates Module Federation within MFE1, e upon initiating o desenvolvimento servidor, it é accessible at http://localhost:3001.
Similarly, o configuração activates Module Federation for MFE2, thereby exposing o Button componente at http://localhost:3002/remoteEntry.js. Com o desenvolvimento servidor operational, it becomes accessible at http://localhost:3002.