Importar y exportar archivos son partes importantes de cualquier lenguaje de programación. La importación de funciones o módulos mejora la reutilización del código. Cuando la aplicación crece en tamaño, mantener un solo archivo con todas las funciones y la lógica se vuelve difícil. También dificulta el proceso de depuración. Por lo tanto, es una buena práctica crear archivos separados para funciones específicas y luego importarlos según los requisitos.
Node.js también permite importar y exportar funciones y módulos. Las funciones en un módulo pueden importarse y llamarse en otros módulos ahorrando el esfuerzo de copiar definiciones de función en los otros archivos. El módulo se puede editar o depurar por separado, lo que facilita agregar o eliminar funciones.
Pasos para incluir funciones de otros archivos:
- Creación de un módulo: los módulos que se crean en Node.js son archivos JavaScript. Cada vez que se crea un nuevo archivo con extensión .js , se convierte en un módulo.
- Exportación de un módulo: Nombre de archivo: func.js
function
add(x, y) {
return
x + y;
}
function
subtract(x, y) {
return
x - y;
}
// Adding the code below to allow importing
// the functions in other files
module.exports = { add }
- Importando un Módulo: Necesitamos importar el módulo para usar las funciones definidas en el módulo importado en otro archivo. El resultado devuelto por require() se almacena en una variable que se usa para invocar las funciones usando la notación de puntos.
Nombre de archivo: principal.js// Importing the func.js module
// The ./ says that the func module
// is in the same directory as
// the main.js file
const f = require(
'./func'
);
// Require returns an object with add()
// and stores it in the f variable
// which is used to invoke the required
const result = f.add(10, 5);
console.log(
'The result is:'
, result);
Producción:
The result is: 15
Importación de múltiples funciones desde un archivo local: Nombre de archivo: func.js
function add(x, y) { return x + y; } function subtract(x, y) { return x - y; } module.exports = { add, subtract};
Nombre de archivo: principal.js
const f = require('./func'); console.log(f.add(4, 4)); console.log(f.subtract(8, 4));
También podemos usar la sintaxis de desestructuración para desempaquetar las propiedades del objeto devuelto por la función require() y almacenarlas en las respectivas variables.
const { add, subtract} = require('./func'); console.log(add(4, 4)); console.log(subtract(8, 4));
Producción:
8 4
Otras formas de exportar un módulo
- Definición de las funciones dentro del objeto module.exports.
module.exports = {
add:
function
(x, y) {
return
x + y;
},
subtract:
function
(x, y) {
return
x - y;
},
};
- Definición de cada función de forma independiente como un método de module.exports
module.exports.add =
function
(x, y) {
return
x + y;
};
module.exports.subtract =
function
(x, y) {
return
x - y;
};
Importación de un módulo desde un directorio: importación del archivo lib.js dentro del directorio, anteponiendo lib.js con el nombre del directorio.
const lib = require('./mod/lib'); console.log(lib.add(6, 4)); console.log(lib.subtract(12, 4));
Hay tres tipos de módulos en Node.js
- Importación desde módulo local: estos módulos son creados por el usuario y se pueden importar como:
const var = require('./filename.js'); // OR const var = require('./path/filename.js');
- Importación desde módulos principales: estos módulos están integrados en Node.js y se pueden importar como:
const var = require('fs');
- Importación de módulos de terceros: estos módulos se instalan mediante un administrador de paquetes como npm. Ejemplos de módulos de terceros son express, mongoose, nodemon, etc. Estos se importan como:
const express = require('express');
Por lo tanto, arriba hay algunos ejemplos para importar y exportar funciones desde diferentes archivos en Node.js.
Publicación traducida automáticamente
Artículo escrito por Shreyasi_Chakraborty y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA