Hoje, continuei minha jornada de aprendizado do Node.js com a ajuda da IA, e o tópico do dia 2 foi o sistema de módulos no Node.js. Como já tenho familiaridade com JavaScript, foi interessante aprender como essa linguagem organiza o código em módulos, facilitando sua estruturação e reutilização.
Primeiro passei pela parte teórica, que explicou dois conceitos-chave:
require: Esta função é usada para importar módulos para o seu código. Quando você chama require('module_name'), o Node.js encontra o módulo especificado e retorna seu conteúdo. Pode ser um módulo integrado, um módulo do pacote node_modules ou seu próprio módulo personalizado.
module.exports: Este objeto é usado para exportar funcionalidade de um módulo para que possa ser usado por outros módulos via require. Você pode exportar funções, objetos, variáveis ou classes.
Esses conceitos eram novos para mim no contexto do Node.js, mas semelhantes ao que vi em outras linguagens de programação.
Comecei criando vários módulos para diferentes operações matemáticas, conforme sugerido no artigo.
addition.js: Este módulo realiza adição.
function add(a, b) { return a b; } module.exports = add;
subtraction.js: Um módulo para subtração.
function subtract(a, b) { return a - b; } module.exports = subtract;
multiplication.js: Um módulo para multiplicação.
function multiply(a, b) { return a * b; } module.exports = multiply;
division.js: Um módulo para divisão.
function divide(a, b) { if (b === 0) { return 'Error: Division by zero'; } return a / b; } module.exports = divide;
Depois de criar esses módulos, comecei a escrever o arquivo principal que os utilizaria.
calculator.js: Neste arquivo, importei todos os módulos que criei e escrevi código para realizar operações aritméticas.
const add = require('./addition'); const subtract = require('./subtraction'); const multiply = require('./multiplication'); const divide = require('./division'); console.log("Addition: 5 3 =", add(5, 3)); console.log("Subtraction: 5 - 3 =", subtract(5, 3)); console.log("Multiplication: 5 * 3 =", multiply(5, 3)); console.log("Division: 6 / 2 =", divide(6, 2));
Depois de concluir as operações básicas, decidi me desafiar adicionando novas funções à calculadora. Criei módulos adicionais para exponenciação e raiz quadrada:
exponencial.js: Um módulo para exponenciação.
function exponentiate(base, exponent) { return Math.pow(base, exponent); } module.exports = exponentiate;
sqrt.js: Um módulo para calcular a raiz quadrada.
function sqrt(number) { return Math.sqrt(number); } module.exports = sqrt;
Eu adicionei estes ao arquivo principal calculator.js, e agora minha calculadora suporta operações estendidas:
const add = require('./addition'); const subtract = require('./subtraction'); const multiply = require('./multiplication'); const divide = require('./division'); const exponentiate = require('./exponentiation'); const sqrt = require('./sqrt'); console.log("Addition: 5 3 =", add(5, 3)); console.log("Subtraction: 5 - 3 =", subtract(5, 3)); console.log("Multiplication: 5 * 3 =", multiply(5, 3)); console.log("Division: 6 / 2 =", divide(6, 2)); console.log("Exponentiation: 2 ^ 3 =", exponentiate(2, 3)); console.log("Square root of 16 =", sqrt(16));
Ao aplicar a teoria na prática, compreendi melhor como os módulos ajudam a organizar o código e como eles são fáceis de usar no Node.js. Trabalhar com arquivos separados para cada operação me fez perceber a importância da modularidade e como ela melhora a legibilidade e escalabilidade do código.
Essa experiência me mostrou como é crucial organizar o código adequadamente, especialmente quando um projeto se torna mais complexo. Agora me sinto confiante trabalhando com módulos em Node.js e estou pronto para a próxima etapa em minha jornada de aprendizado.
Para mais detalhes sobre esta lição, você pode consultar o tutorial completo aqui.
Foi assim que aprendi com o artigo e entendi como os módulos funcionam no Node.js por meio da aplicação prática.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3