项目作者: rocketseat-experts-club

项目描述 :
Repositório com o código base para a live de criando micro front-ends com Webpack5 e module federation
高级语言: JavaScript
项目地址: git://github.com/rocketseat-experts-club/live-micro-frontends-module-federation-2021-03-18.git


Criando Micro-Front-Ends com Webpack5 Module Federation

Nesta lição, usaremos o plugin de module Federation do webpack
para criar nossos primeiros Micro-Front-Ends, O module federation é responsável por criar essa integração entre vários builds separados,
com ele, você poderá compartilhar seu código (componentes, lógica, serviços, etc …) em tempo de execução 🤯, e ao mesmo tempo manter
seu processo de construção e desenvolvimento em paralelo.

com este exemplo, vamos criar 3 micro-front-ends com compartilhamento de código de forma bidirecional,
a ideia é de no final da dessa aula ter um modelo de e-commerce bem simples onde teremos
a mesma experiência sendo criada e compartilhada entre os nossos MFE’s, compartilhando código em tempo de execução sem perda de desempenho.

Aplicação Final 🎬

Observe aqui que estamos navegando em diferentes servidores, mas a experiência final
é o mesma, não importa em qual MFE você esteja.
está curioso para saber como vamos fazer isso? Então vamos lá codar !!!.

Primeiros passos 🏁

Clone o repositório.

  1. git clone git@github.com:rocketseat-experts-club/live-micro-frontends-module-federation-2021-03-18.git container

cd no diretório.

  1. cd container

Instale as dependências do diretório principal do projeto:

|⚠️ usaremos yarn para gerenciar nossos pacotes

  1. yarn install

em seguida, entre no diretório dos nossos MFE’s

  1. cd shared-routing

Instale as dependencias

  1. yarn install

Inicie o servidor de desenvolvimento:

  1. yarn start

Com isso, você terá os aplicativos em execução em:

Abra uma dessas portas no navegador de sua escolha e você estará pronto para integrar com o aplicativo inicial 🚀.

💡 Dica profissional use shared-routing-final como o guia de referência final, este arquivo contém o projeto final para você seguir.

Estrutura do Projeto 🏗

Conforme descrito, criaremos uma estrutura MFE com hosts host bidirecionais
podemos ver aqui o gráfico de como nossos MFE’s vão ser divididos

Na pasta Container/shared-routing, temos os nossos MFE’s:

  • Shell: MFE Onde vamos criar o nosso application shell
  • ProductList /: MFE responsavel pela listagem de produtos
  • ProductDetails /: MFE responsavel pelo detalhamento de produtos
  1. ├── ProductDetails
  2. ├── package.json
  3. ├── public
  4. ├── src
  5. └── webpack.config.js
  6. ├── ProductList
  7. ├── package.json
  8. ├── public
  9. ├── src
  10. └── webpack.config.js
  11. ├── Shell
  12. ├── package.json
  13. ├── public
  14. ├── src
  15. └── webpack.config.js
  16. ├── package.json
  17. └── yarn.lock

Ferramentas Utilizadas 🧰

  • React como uma linguagem de IU
  • Webpack5 como module bundler
  • Prettier como formatador de código
  • Lerna para gerenciar o monorepo
  • TailwindCss UI como nosso kit de ferramentas de design

Expert

Vitor Alencar

Licença

Projetado com ♥ por vitormalencar. Licenciado sob a Licença MIT.