Capítulo 10: Organização em Módulos 📁🧱

Neste capítulo, vamos aprender a dividir nosso código em vários arquivos usando os Módulos, com o tema Lego!


📖 Por que usar Módulos?

Quando os projetos crescem, colocar tudo em um único arquivo .js fica confuso. Dividir o código em módulos (como blocos de Lego) facilita a organização e o reuso de código!

Em Node.js clássico, usamos o sistema CommonJS com require() e module.exports.


📖 Exemplo Guiado: Construindo com Blocos

Vamos criar um módulo para operações matemáticas simples e usá-lo na nossa main.

  1. Crie o arquivo operacoes.js na pasta src/:
// Este arquivo é o nosso módulo (bloco de Lego)
 
const somar = (a, b) => a + b;
const subtrair = (a, b) => a - b;
 
// Exportando as funções para que outros arquivos possam usar
module.exports = {
    somar,
    subtrair
};
  1. Crie o arquivo main_lego.js na pasta src/ (na mesma pasta):
// Importando o módulo que criamos
// O './' indica que o arquivo está na mesma pasta
const operacoes = require("./operacoes");
 
const resultadoSoma = operacoes.somar(10, 5);
const resultadoSub = operacoes.subtrair(10, 5);
 
console.log(`Resultado da soma dos blocos: ${resultadoSoma}`);
console.log(`Resultado da subtracao dos blocos: ${resultadoSub}`);

🕹️ Como Executar e Testar no VS Code

  1. Abra o terminal integrado.
  2. Execute: node main_lego.js

Resultado Esperado:

Resultado da soma dos blocos: 15
Resultado da subtracao dos blocos: 5

📊 Ilustração Visual: Estrutura Modular

Veja como os arquivos se conectam:

graph TD
    A[main_lego.js] -->|require| B[operacoes.js]
    B -->|module.exports| A

🛠️ Prática Obrigatória 1: Módulo de Mensagens

Crie um módulo chamado mensagens.js que exporte uma função chamada saudacao(nome) que retorne a string “Ola, [nome], bem-vindo ao jogo!“. Depois, importe e use essa função no arquivo main_lego.js.


🔑 Gabarito de Código

Prática 1: Arquivos atualizados

mensagens.js

const saudacao = (nome) => `Ola, ${nome}, bem-vindo ao jogo!`;
 
module.exports = {
    saudacao
};

Uso na main_lego.js

const mensagens = require("./mensagens");
console.log(mensagens.saudacao("Arthur"));

📤 Instruções de Entrega (GitHub Desktop + Microsoft Teams)

(Siga o padrão estabelecido no Guia)


Capitulo Anterior | Proximo Capitulo