Exportando com Module.exports
Deslize para mostrar o menu
Quando você deseja compartilhar funções, objetos ou valores de um arquivo para que outro arquivo possa utilizá-los, utiliza-se o module.exports no Node.js. Este é o fundamento de como os módulos se comunicam. Você define suas funções ou objetos em um arquivo e, em seguida, os atribui ao module.exports. Qualquer arquivo que utilize require para carregar esse módulo receberá exatamente o que foi atribuído ao module.exports.
mathUtils.js
Comece criando uma função ou objeto que deseja exportar. No exemplo acima, a função add e o objeto calculator são definidos em mathUtils.js. Ao atribuir um objeto contendo tanto add quanto calculator ao module.exports, ambos ficam disponíveis para outros arquivos.
Quando outro arquivo, como app.js, utiliza require('./mathUtils'), o Node.js carrega o módulo e retorna o valor de module.exports. Isso significa que mathUtils em app.js é o objeto exportado, permitindo chamar mathUtils.add(5, 3) ou mathUtils.calculator.subtract(10, 4).
É possível exportar um único valor, como uma função, ou um objeto contendo múltiplos valores. Se você atribuir um novo valor ao module.exports, é esse valor que será retornado pelo require. Lembre-se sempre: apenas o que for atribuído ao module.exports estará acessível fora do módulo.
No Node.js, exports é apenas uma referência de atalho para module.exports.
Você pode usar exports.greet = ... para adicionar propriedades, mas se você reatribuir module.exports diretamente, o atalho deixa de funcionar.
// Valid: adding a property
exports.greet = () => "Hello!";
// Invalid: reassigning exports breaks the link
exports = () => "Hello!"; // Won't work
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo