← Questões de Programação

Programação · FGV · 2022

Questão comentada de Programação

No âmbito do NodeJS, analise o código a seguir. exports.xpto = function () { return Date(); }; Esse código, gravado num arquivo .js, permite disponibilizar a função xpto em outras aplicações por meio da função:

Gabarito: E

No NodeJS, cada arquivo JavaScript funciona como um módulo. Para compartilhar algo com outros arquivos, você expõe essa parte usando a API de módulos, normalmente com `exports` ou `module.exports`. No código da questão, a linha `exports.xpto = function () { ... }` está colocando a função `xpto` na lista do que o módulo exporta. É como deixar a porta aberta só para esse item específico sair do arquivo e ser usado por outro código. Para acessar esse módulo em outra aplicação ou em outro arquivo, você usa `require()`. Essa função carrega o módulo e devolve o objeto exportado, permitindo chamar `xpto`. Exemplo mental simples: `const meuModulo = require('./arquivo'); meuModulo.xpto();`. As outras alternativas não batem com o mecanismo do NodeJS. `import()` é do sistema de módulos ECMAScript e não é a resposta esperada para esse padrão clássico mostrado no enunciado. `include()`, `library()` e `module()` não são funções padrão do NodeJS para esse fim. Então, o gabarito é a letra E, porque `require()` é a forma tradicional de importar um módulo no NodeJS e acessar o que foi colocado em `exports`. Em termos doutrinários, isso reflete o modelo CommonJS, historicamente adotado pelo NodeJS para modularização de código.

Continue treinando

Questões relacionadas