Node.js presenta el concepto de módulo (módulo). Un módulo puede exportar funciones, variables, etc. a través del módulo.
El valor inicial de Module.Exports es un objeto vacío {}, por lo que el valor inicial de las exportaciones también es {}. Exports es una referencia a Module.Exports, que es más o menos esta dentro del módulo:
exports = módulo.exports = {};Por ejemplo, crear un módulo en Node.js es muy simple. Un archivo es un módulo. Por lo tanto, creamos un archivo de nombre de módulo.js y usamos exportaciones y requerimos objetos para proporcionar interfaces y módulos de referencia al mundo exterior.
nombre.js
var myname = function () {var name = 'Amberylopez'; console.log (name);}; exports.myname = myname;Esto requiere esto al usarlo
app.js
var name = request ('./ name');Si el archivo name.js que creamos es proporcionar interfaces y módulos de referencia externamente usando módulo.exports y requerir objetos.
nombre.js
var myname = function () {var name = 'Amberylopez'; console.log (name);}; module.exports = myname;app.js
var name = request ('./ name');La asignación de exportaciones en realidad solo agregue el atributo MyName al módulo de objeto vacío.exports. ¿Por qué las exportaciones usan el método de agregar atributos en lugar de exportaciones = myname?
Exports es el valor que hace referencia al módulo.exports. Cuando se cambian las exportaciones, Module.Exports no se cambiará. Cuando se exportan las exportaciones, la ejecución de exportación real es módulo.exports, no exportaciones.
Si name.js se cambia a
var myname = function () {var name = 'Amberylopez'; console.log (nombre);}; exports = myname;app.js
var name = request ('./ name'); <br> console.log (nombre);Se informará un error cuando se realice la operación. Porque, en el ejemplo anterior, al agregar atributos a las exportaciones, y ahora la memoria señalada por las exportaciones ha sido modificada, las exportaciones y el módulo. Exports ya no apuntan a la misma memoria, es decir, la memoria señalada por Module.Exports no ha cambiado, y todavía es un objeto vacío {}, por lo que se informará un error.