En nodejs, un módulo es un archivo js que se utiliza para usar algunas funciones específicas. Al dividir todas las funciones en módulos, el alcance de las variables globales y funciones definidas en cada módulo también se limita a los paquetes de este módulo. dependencias y puede encapsular múltiples módulos.
El entorno operativo de este artículo: sistema Windows 10, versión nodejs 12.19.0, computadora Dell G3.
Distinga entre paquetes y módulos: el uso adecuado de paquetes y módulos hará que su programa sea menos redundante, más legible y completamente funcional.
Los paquetes se utilizan para administrar varios módulos y sus dependencias. Se pueden encapsular varios módulos. El directorio raíz del paquete debe contener el archivo package.json. Un archivo package.json que cumple con la especificación CommonJS generalmente contiene los siguientes campos:
nombre: nombre del paquete. Los nombres de los paquetes son únicos y solo pueden contener letras minúsculas, números y guiones bajos. versión: número de versión del paquete. descripción: descripción del paquete. palabras clave: matriz de palabras clave, utilizada para la búsqueda. página de inicio: página de inicio del proyecto. errores: la dirección para enviar errores. licencia: licencia. mantenedores: conjunto de mantenedores. contribuyentes: conjunto de contribuyentes. repositorios: conjunto de direcciones de alojamiento de almacenes de proyectos. dependencias: dependencias de paquetes.El archivo package.json se puede editar manualmente o generar mediante el comando npm init. Ingrese el comando npm init en la terminal para generar un paquete que contenga un archivo package.json. Ingrese directamente npm init --yes para omitir responder la pregunta y generar directamente el archivo package.json con los valores predeterminados.
Instale el paquete mediante el comando npm install xxx. Por ejemplo:
Paquete de instalación: npm install express Paquete de actualización: npm update express Paquete de eliminación: npm uninstall expressBusque el paquete en la comunidad npm e instálelo mediante el comando npm install module name. El nombre de cada módulo es globalmente único.
Necesitamos comparar JS en el navegador con JS en Node.js:
En JavaScript, generalmente dividimos el código JavaScript en varios archivos js y luego fusionamos y ejecutamos estos archivos js en el navegador. En Node.js, todas las funciones están divididas en módulos. Cada módulo es un archivo js y el alcance de las variables y funciones globales definidas en cada módulo también se limita a este módulo. Solo el objeto de exportación se puede pasar para uso externo.Node.js proporciona oficialmente muchos módulos, cada uno de los cuales implementa una función, como el módulo fs para operar archivos y sistemas de archivos, el módulo http para crear servicios http y la ruta del módulo para procesar rutas de archivos, etc.
Creamos un módulo y lo exportamos usando module.exports.
archivo myModule.js
function foo() { console.log("hola syl");} module.exports.foo = foo;archivo index.js
var hola = require("./myModule.js");hola.foo();Nota: El módulo principal se define en el directorio lib/ del código fuente de Node.js. require() siempre cargará primero los módulos principales. Por ejemplo: require('http') siempre devuelve el módulo HTTP integrado, incluso si hay un archivo con el mismo nombre.
Para simplificar sus operaciones, Node.js proporciona una variable especial: exports es igual a module.exports. Estas dos líneas de código tienen el mismo efecto:
module.exports.foo = foo;exports.foo = foo;Explique el caso:
// módulo.jsconsole.log('módulo', módulo)console.log('módulo.exportaciones', módulo.exportaciones)console.log('exportaciones', exportaciones)console.log(módulo.exportaciones === exportaciones) ;console.log("=========================================="); exportaciones = { a: 3, };console.log(exportaciones);console.log(módulo.exportaciones);console.log(exportaciones === módulo.exportaciones);require() obtiene el valor exportado por module.exports. Puede usar module.exports y exports para exportar varios miembros. Solo puede usar module.exports para exportar un solo miembro.
Aprendizaje recomendado: "videotutorial de nodejs"
Lo anterior es el contenido detallado de lo que hacen los módulos y paquetes de nodejs. Para obtener más información, preste atención a otros artículos relacionados en este sitio.