Questão nº 45
Questão de Tecnologia da Informação · FGV MP-SC 2022 (nº 45)
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:
- A`import()`;
- B`include()`;
- C`library()`;
- D`module()`;
- E`require()`. (alternativa correta)
Resposta comentada
Gabarito Alternativa E
Conceito-chave: No Node.js, para usar em outro arquivo uma função que foi exportada com exports, você precisa importar esse módulo usando a função require(). O require() é o mecanismo nativo do Node para carregar módulos (arquivos .js) e retornar o objeto exportado.
- (A) Incorreta:
import()é a sintaxe de módulos ES6 (mais moderna), mas não é a função usada para carregar módulos no padrão CommonJS (que é o caso doexports). Além disso,import()é uma declaração estática, não uma função chamada diretamente. - (B) Incorreta:
include()não existe no Node.js; é uma função do PHP para incluir arquivos, não se aplica ao contexto de módulos Node. - (C) Incorreta:
library()não é uma função nativa do Node.js para carregar módulos; é um termo genérico, não uma API real. - (D) Incorreta:
module()não é uma função;moduleé um objeto global no Node, mas você não o chama como função para importar. A pegadinha aqui é confundir o objetomodule(usado para exportar) com a função de importação. - (E) Correta:
require()é a função correta do Node.js (padrão CommonJS) que recebe o caminho do arquivo e retorna o objeto com as propriedades exportadas (comoxpto). Exemplo:const meuModulo = require('./arquivo');e depoismeuModulo.xpto().
Armadilha da banca: A alternativa (D) é a mais tentadora, pois o código usa exports, e muitos alunos lembram que module.exports é usado para exportar. A banca explora essa confusão: o aluno pode pensar que, para "puxar" o módulo, se usa module(), mas module é um objeto, não uma função. A única função que realmente importa módulos no Node é require().
Fonte: FGV MP-SC 2022 Analista em Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.