O sistema de módulos do Node é modelado a partir do CommonsJ...
Qual NÃO contém um requisito do CommonsJs module system?
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: D - As variáveis do módulo devem ser sempre públicas.
Para compreender a alternativa correta, precisamos entender o sistema de módulos do CommonJS utilizado no Node.js. Esse sistema permite que diferentes arquivos JavaScript isolem suas funcionalidades e expõem apenas aquelas partes que devem ser acessíveis publicamente por outros módulos. Essa abordagem é essencial para criar aplicações modulares e manuteníveis, onde cada módulo tem um escopo definido.
A alternativa D é a correta porque ela afirma erroneamente que "As variáveis do módulo devem ser sempre públicas". Na verdade, nos módulos CommonJS, as variáveis e funções de um módulo são privadas por padrão e somente ficam acessíveis a outros módulos se forem explicitamente exportadas. Isso é feito utilizando module.exports
ou exports
para designar quais partes do módulo devem ser expostas.
As alternativas A, B e C descrevem corretamente aspectos do sistema de módulos CommonJS:
- A função
require
é usada para importar módulos, recebendo o identificador do módulo como uma string e retornando a API exportada pelo módulo. - O nome do módulo é uma string e pode incluir caminhos, o que permite a organização dos módulos em uma estrutura de diretórios.
- Um módulo deve exportar explicitamente os componentes que deseja tornar acessíveis a outros módulos.
Assim, entender como o sistema de módulos funciona é crucial para desenvolvimento de aplicações em Node.js, e reconhecer a privacidade das variáveis dentro de módulos é essencial para a modularidade e a segurança do código.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
GAB D
"Variables local to the module will be private, because the module is wrapped in a function by Node.js "
https://nodejs.org/api/modules.html#modules-commonjs-modules
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo