Node.js apresenta o conceito de módulo (módulo). Um módulo pode exportar funções, variáveis, etc. através do Module.Exports ou exportações para permitir que outros scripts JavaScript sejam introduzidos e usados através da função requer ().
O valor inicial do Module.Exports é um objeto vazio {}; portanto, o valor inicial das exportações também é {}. As exportações são uma referência ao Module.Exports, que é aproximadamente assim dentro do módulo:
exports = module.exports = {};Por exemplo, criar um módulo no Node.js é muito simples. Um arquivo é um módulo. Por isso, criamos um arquivo name.js do módulo e usamos exportações e exigimos objetos para fornecer interfaces e módulos de referência ao mundo exterior.
name.js
var myName = function () {var name = 'Amberylopez'; console.log (nome);}; exports.myname = myname;Isso requer isso ao usá -lo
App.js
Var nome = requer ('./ nome');Se o arquivo name.js que criamos for para fornecer interfaces e módulos de referência externamente usando o Module.Exports e exigir objetos.
name.js
var myName = function () {var name = 'Amberylopez'; console.log (nome);}; module.exports = myname;App.js
Var nome = requer ('./ nome');A atribuição de exportações está realmente apenas adicionando o atributo myname ao módulo de objeto vazio.Exports. Por que as exportações usam o método de adicionar atributos em vez de exportações = myname?
Exportações é o valor que referencia o módulo.Exports. Quando as exportações são alteradas, o Module.Exports não será alterado. Quando as exportações são exportadas, a execução real da exportação é o módulo. Exporta, não exportações.
Se Name.js for alterado para
var myName = function () {var name = 'Amberylopez'; console.log (nome);}; exports = myName;App.js
var nome = requer ('./ nome'); <br> console.log (nome);Um erro será relatado quando a operação for executada. Porque, no exemplo anterior, adicionando atributos às exportações, e agora a memória apontada pelas exportações foi modificada, exportações e module.Exports não apontam mais para a mesma memória, ou seja, a memória apontada pelo módulo.Exports não foi alterada e ainda é um objeto vazio {}, portanto um erro será relatado.