Aquí, aprenderá a exponer diferentes tipos como un módulo usando module.exportación.
El module.exports es un objeto especial que se incluye en cada archivo JavaScript en el Nodo.aplicación js por defecto. El module es una variable que representa el módulo actual, y exports es un objeto que se expondrá como un módulo. Por lo tanto, lo que asigne a module.exports se expondrá como un módulo.,
veamos cómo exponer diferentes tipos como un módulo usando module.exports.
exportar literales
como se mencionó anteriormente, exports es un objeto. Así que expone lo que se le asignó como un módulo. Por ejemplo, si asigna un literal de cadena, expondrá ese literal de cadena como un módulo.
el siguiente ejemplo expone un mensaje de cadena simple como un módulo en Message.js.
Copiar
module.exports = 'Hello world';
Ahora, la importación de este mensaje y módulo de uso como se muestra a continuación.
Copiar
var msg = require('./Messages.js');console.log(msg);
Ejecutar el ejemplo anterior y ver el resultado, como se muestra a continuación.
C:\> aplicación de nodo.JS
Hello World
./ como una ruta de la carpeta raíz para importar un módulo local. Sin embargo, no es necesario especificar la ruta de acceso al nodo de importación.,módulos JS core O módulos NPM en la función require().Export Object
el exports es un objeto. Por lo tanto, puede adjuntar propiedades o métodos a ella. El siguiente ejemplo expone un objeto con una propiedad string en el archivoMessage.js.
Copiar
exports.SimpleMessage = 'Hello world';//ormodule.exports.SimpleMessage = 'Hello world';
En el ejemplo anterior, hemos adjuntado una propiedad SimpleMessage a la de las exportaciones objeto. Ahora, importa y usa este módulo, como se muestra a continuación.
Copiar
var msg = require('./Messages.js');console.log(msg.SimpleMessage);
En el ejemplo anterior, el require() función devolverá un objeto { SimpleMessage : 'Hello World'} y asignarlo a la variable msg. Por lo tanto, ahora puede usar msg.SimpleMessage.
ejecute el ejemplo anterior escribiendo node app.js en el símbolo del sistema y vea la salida como se muestra a continuación.
C:\> aplicación de nodo.JS
Hello World
de la misma manera que anteriormente, puede exponer un objeto con función., El siguiente ejemplo expone un objeto con la función log como módulo.
Copiar
module.exports.log = function (msg) { console.log(msg);};
El anterior módulo se expone un objeto- { log : function(msg){ console.log(msg); } } . Utilice el módulo anterior como se muestra a continuación.
Copiar
var msg = require('./Log.js');msg.log('Hello World');
Ejecutar y ver el resultado en la línea de comandos como se muestra a continuación.
C:\> aplicación de nodo.,JS
Hello World
También puede adjuntar un objeto a module.exports, como se muestra a continuación.
Copiar
module.exports = { firstName: 'James', lastName: 'Bond'}
Copiar
var person = require('./data.js');console.log(person.firstName + ' ' + person.lastName);
Ejecutar el ejemplo anterior y ver el resultado, como se muestra a continuación.
C:\> aplicación de nodo.JS
James Bond
Export Function
Puede adjuntar una función anónima al objeto exports como se muestra a continuación.,
Copiar
module.exports = function (msg) { console.log(msg);};
Ahora, usted puede utilizar el módulo, como se muestra a continuación.
Copiar
var msg = require('./Log.js');msg('Hello World');
El msg variable se convierte en una expresión de función en el ejemplo anterior. Por lo tanto, puede invocar la función usando paréntesis (). Ejecute el ejemplo anterior y vea la salida como se muestra a continuación.
C:\> aplicación de nodo.,JS
Hello World
exportar función como clase
en JavaScript, una función puede tratarse como una clase. El siguiente ejemplo expone una función que se puede usar como una clase.
el módulo anterior se puede utilizar, como se muestra a continuación.
Copiar
var person = require('./Person.js');var person1 = new person('James', 'Bond');console.log(person1.fullName());
Como puede ver, hemos creado un person objeto utilizando la etiqueta new palabra clave. Ejecute el ejemplo anterior, como se muestra a continuación.
C:\> aplicación de nodo.,JS
James Bond
de esta manera, puede exportar e importar un módulo local creado en un archivo separado en la carpeta raíz. nodo
.js también le permite crear módulos en subcarpetas. Veamos cómo cargar el módulo desde subcarpetas.
cargar módulo desde la carpeta separada
utilice la ruta completa de un archivo de módulo donde lo ha exportado utilizandomodule.exports. Por ejemplo, si el módulo de registro en el registro.js se almacena en la carpeta utility en la carpeta raíz de su aplicación, luego impórtela, como se muestra a continuación.
Copiar
var log = require('./utility/log.js');
En el ejemplo anterior, . está en la raíz de la carpeta y, a continuación, especifique la ruta de acceso exacta de su archivo de módulo. Nodo.js también nos permite especificar la ruta a la carpeta sin especificar el nombre del archivo. Por ejemplo, puede especificar solo la carpeta utility sin especificar log.js, como se muestra a continuación.
Copiar
var log = require('./utility');
En el ejemplo anterior, el Nodo.,js buscará un archivo de definición de paquete llamado package.json dentro de la carpeta utility. Esto se debe a que Node asume que esta carpeta es un paquete y tratará de buscar una definición de paquete.El archivo package.json debe estar en un directorio de módulo. El package.json en la carpeta utility especifica el nombre del archivo usando la clave main, como se muestra a continuación.
Copiar
{ "name" : "log", "main" : "./log.js"}
Ahora, el Nodo.,js encontrará el archivo log.js usando la entrada main En package.json e importarlo.
package.json no existe, entonces buscará index.archivo js como archivo de módulo por defecto. 



