
Lembrete para a Seção 3.
Para facilitar a instalação dos pacotes, favor usar exatamente as versões abaixo.
Os pacotes devem ser instalados rigorosamente usando s seguintes versões:
npm install --save-dev webpack@5.97.1
npm install --save-dev webpack-cli@6.0.1
npm install --save-dev webpack-merge@6.0.1
Repositório no Github:
renatomatos79/livro-webpack
Lembrete para a Seção 4.
Para facilitar a instalação dos pacotes, favor usar exatamente as versões abaixo.
Os pacotes devem ser instalados rigorosamente usando s seguintes versões:
npm install -D webpack@5.97.1 webpack-cli@6.0.1 webpack-merge@6.0.1
npm install -D vitest@2.1.8 @vitest/coverage-v8@2.1.8
npm install --save-dev --save-exact prettier
npm install --save-dev husky lint-staged
npx husky init
npm init @eslint/config@latest
Lembrete para a Seção 5.
Para facilitar a instalação dos pacotes, favor usar exatamente as versões abaixo.
Os pacotes devem ser instalados rigorosamente usando s seguintes versões:
devDependencies
npm install -D @babel/core@7.12.3
npm install -D @babel/plugin-transform-runtime@7.12.1
npm install -D @babel/preset-env@7.12.1
npm install -D @babel/preset-react@7.12.1
npm install -D babel-loader@9.2.1
npm install -D html-webpack-plugin@5.6.3
npm install -D webpack@5.97.1
npm install -D webpack-cli@6.0.1
npm install -D webpack-dev-server@5.2.0
npm install -D webpack-merge@6.0.1
dependencies
npm install react@19.0.0
npm install react-dom@19.0.0
npm install @renato-matos/validation-libs@1.0.2
Lembrete para a Seção 6.
Para facilitar a instalação dos pacotes, favor usar exatamente as versões abaixo.
Os pacotes devem ser instalados rigorosamente usando s seguintes versões:
Módulo de autenticação e container construidos em React:
devDependencies
npm install -D @babel/core@7.12.3
npm install -D @babel/plugin-transform-runtime@7.12.1
npm install -D @babel/preset-env@7.12.1
npm install -D @babel/preset-react@7.12.1
npm install -D babel-loader@9.2.1
npm install -D html-webpack-plugin@5.6.3
npm install -D mini-css-extract-plugin@2.9.2
npm install -D style-loader@4.0.0
npm install -D webpack@5.97.1
npm install -D webpack-cli@6.0.1
npm install -D webpack-dev-server@5.2.0
npm install -D webpack-merge@6.0.1
dependencies
npm install react@19.0.0
npm install react-dom@19.0.0
npm install react-icons@5.4.0
npm install react-router-dom@6.29.0
Módulo Dashboard Vue:
devDependencies
npm install -D @babel/core@7.12.3
npm install -D @babel/plugin-transform-runtime@7.12.1
npm install -D @babel/preset-env@7.12.1
npm install -D @babel/preset-react@7.12.1
npm install -D babel-loader@9.2.1
npm install -D css-loader@5.0.0
npm install -D dotenv-webpack@8.1.0
npm install -D file-loader@6.2.0
npm install -D sass@1.79.4
npm install -D sass-loader@16.0.2
npm install -D style-loader@2.0.0
npm install -D vue-loader@17.3.1
npm install -D vue-style-loader@4.1.2
npm install -D webpack@5.97.1
npm install -D webpack-cli@6.0.1
npm install -D webpack-dev-server@5.2.0
npm install -D webpack-merge@6.0.1
dependencies
npm install vue@3.2.31
npm install vue3-google-map@0.21.0
O que é o Vite?
O Vite é uma ferramenta de build e desenvolvimento frontend, criada para ser mais rápida e eficiente que ferramentas tradicionais como Webpack
O que é o Vite Federation?
O Vite Federation é uma implementação do conceito de Module Federation (introduzido no Webpack 5) para Vite.
Esta seção foi criada com objetivo de compararmos o que fizemos com Webpack Module Federation, mas desta vez usando Vite Federation.
Imagine que você está construindo um prédio grande, mas em vez de ter apenas uma equipe trabalhando em todo o projeto, várias equipes trabalham em partes separadas: uma constrói os apartamentos, outra o estacionamento, outra o lobby. Cada equipe pode fazer sua parte de forma independente, usando suas próprias ferramentas e estilos, mas no final, tudo é montado para parecer um prédio único.
O Webpack Module Federation faz exatamente isso, mas no mundo do desenvolvimento web.
As principais vantagens que posso destacar ao se adotar o uso do Module Federation na construção de projetos web são as seguintes:
Em vez de criar uma única aplicação gigante, você divide o sistema em módulos independentes.
Cada módulo (ou microfrontend) é responsável por uma parte específica da aplicação, como o login, o carrinho de compras ou o painel de usuário.
Cada módulo pode ser criado usando qualquer framework ou até mesmo nenhum (React, Vue, Angular, ou JavaScript puro).
Eles são desenvolvidos, versionados e implantados separadamente, como aplicativos pequenos.
O Webpack Module Federation permite que esses módulos sejam carregados em tempo de execução, diretamente de outros servidores ou repositórios.
Ele evita duplicação de dependências ao compartilhar bibliotecas (como React ou Vue) entre os módulos.
O usuário final não vê que a aplicação é dividida. Tudo parece e funciona como um único sistema.
Isso é possível porque o Webpack monta os módulos dinamicamente e os apresenta como se fossem parte de um único aplicativo.