WebFadoni, programação, notícias, tudo sobre o mundo da programação e da tecnologia, você vai encontrar aqui no WebFadoni.

WebFadoni
10/Jun/2022 00:31

Sistema de módulos em Node.js

Neste artigo você encontrará conceitos básicos de manipulação de módulos no Nodejs. Revendo alguns exemplos de exportação e importação de funções básicas para outros arquivos.

WebFadoni

Introdução

Conhecer os sistemas de módulos na plataforma a ser desenvolvida é muito útil, pois eles nos dão uma melhor compreensão do ecossistema. Neste caso, o Nodejs é composto por um sistema de módulos fácil de entender e fácil de usar.

Pontos a apresentar

Aqui estão os pontos necessários para poder entender e trabalhar com o sistema de módulos no Nodejs:

1. CommonJS
2. objeto do módulo
3. Exportar
4. Exigir

Abaixo descreveremos cada um desses elementos juntamente com seu conteúdo e exemplos.

CommonJS

O CommonJS nasceu em 2009 como um projeto para estabelecer convenções no ecossistema de módulos para Javascript fora do navegador. Naquela época, o Javascript não possuía formas padronizadas comuns para reutilizar partes de software em ambientes diferentes do navegador da web. Alguns anos depois, a equipe do Nodejs o implementou nas versões recebidas. Atualmente, o desenvolvimento Javascript no lado do servidor o usa por padrão.

Objeto do módulo

É um objeto nativo do Nodejs que registra todas as referências aos módulos atuais em nossa aplicação. Isso inclui a referência a node_modules , onde as funcionalidades podem ser obtidas apenas realizando as respectivas importações.

Aqui está uma inspeção do objeto do módulo:

console.log(módulo);

Isso imprime a seguinte saída no console:

Módulo {
id: '.',
caminho: 'C:\\Users\\Admin\\Documents\\TEST_AREA_JS',
exporta: {},
pai: null,
nome do arquivo: 'C:\\Users\\Admin\\Documents \\TEST_AREA_JS\\foo.js',
carregado: false,
children: [],
caminhos: [
'C:\\Users\\Admin\\Documents\\TEST_AREA_JS\\node_modules',
'C:\\Users\\ Admin\\Documents\\node_modules',
'C:\\Users\\Admin\\node_modules',
'C:\\Users\\node_modules',
'C:\\node_modules'
]
}

NOTA : Para obter mais informações sobre o sistema de módulos Nodejs, consulte: https://nodejs.org/api/modules.html

Exportar

A instrução de exportação é uma propriedade do objeto de módulo que é usada para vincular a referência de arquivo atual. Graças ao link teremos à nossa disposição funções, objetos ou variáveis ​​do contexto atual para que possam ser utilizados por outros programas.

Aqui está um exemplo de exportação de 2 funcionalidades de um arquivo criado chamado math.js:

const soma = (a,b) => {
return a + b;
}
const sub = (a,b) => {
return a - b;
}
module.exports = {
soma,
sub
}

Se inspecionarmos o objeto do módulo novamente, obteremos o seguinte resultado:

Módulo {
id: '.',
caminho: 'C:\\Users\\Admin\\Documents\\TEST_AREA_JS',
export: { sum: [Function: sum], sub: [Function: sub] },
pai: null ,
nome do arquivo: 'C:\\Users\\Admin\\Documents\\TEST_AREA_JS\\math.js',
carregado: false,
children: [],
caminhos: [
'C:\\Users\\Admin\\Documents\ \TEST_AREA_JS\\node_modules',
'C:\\Users\\Admin\\Documents\\node_modules',
'C:\\Users\\Admin\\node_modules',
'C:\\Users\\node_modules',
' C:\\node_modules'
]
}

Destacando a propriedade de exportação que contém o seguinte:

exportações: { soma: [Função: soma], sub: [Função: sub] },

Exigir

Uma vez exportado o módulo, devemos agora utilizá-lo, para este caso temos o comando require , que é basicamente uma função que obtém o que é solicitado pesquisando as referências do objeto módulo.

Aqui está um exemplo de importação das 2 funcionalidades anteriores do arquivo criado chamado math.js:

const math = require('./math');
console.log(math.sum(1,2));
console.log(math.sub(2,1));

Isso imprime a seguinte saída no console:

3
1

A função require é uma das funções mais importantes no node, pois com esta função podemos obter módulos core, módulos de terceiros e nossos próprios arquivos.

Aqui está um exemplo de algumas linhas iniciais de um aplicativo expresso de nó que usa require para obter a funcionalidade necessária para funcionar.

const express = require('express');
const morgan = require('morgan');
const caminho = require('caminho');

const DEFAULT_PORT = process.env.PORT || 6420;

....

Terminando

Lembre-se que o sistema de módulos em Javascript é diferente dependendo do ambiente. Outro sistema de módulos chamado módulos ES é usado como padrão no navegador. As estruturas modernas do lado do cliente o usam para construir seus aplicativos. No nodejs também pode ser usado, mas algumas pequenas configurações devem ser feitas. o convite é continuar aprendendo com o ecossistema para equilibrar conforme a necessidade.