exportar módulo en Nodo.js

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.

Mensaje.,js

Copiar

module.exports = 'Hello world';

Ahora, la importación de este mensaje y módulo de uso como se muestra a continuación.

app.js

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

Nota:
debe especificar ./ 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.

Mensaje.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.

app.,js

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.

Registro.js

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.

app.js

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.

de datos.js

Copiar

module.exports = { firstName: 'James', lastName: 'Bond'}

de la aplicación.js

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

ADVERTISEMENT

Export Function

Puede adjuntar una función anónima al objeto exports como se muestra a continuación.,

Registro.js

Copiar

module.exports = function (msg) { console.log(msg);};

Ahora, usted puede utilizar el módulo, como se muestra a continuación.

app.js

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.

app.js

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.

app.,js

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.

app.js

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.

./ utility / paquete.json

Copiar

{ "name" : "log", "main" : "./log.js"}

Ahora, el Nodo.,js encontrará el archivo log.js usando la entrada main En package.json e importarlo.

Nota:
si el archivo package.json no existe, entonces buscará index.archivo js como archivo de módulo por defecto.

Author: admin

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *