Al trabajar en Node.js, es común que necesitemos utilizar código almacenado en diferentes archivos o módulos. Esto nos ayuda a mantener nuestro programa organizado, facilita la reutilización del código y permite una fácil implementación de las pruebas unitarias.
Para importar un módulo en Node.js, utilizamos las instrucciones require
o import
. En la pregunta planteada, se nos pide importar un módulo almacenado en un archivo llamado 'example.js'. Tenemos dos formas correctas de hacerlo:
Node.js utiliza 'CommonJS' para manejar las dependencias entre los módulos. La forma tradicional de importar un módulo en Node.js es mediante el uso de la función 'require'. Aquí se muestra cómo se haría para importar nuestro módulo 'example.js':
var example = require('./example.js')
Esta línea de código asigna todo lo que hay en 'example.js' (que normalmente se exportaría con module.exports
) a la variable example
.
En las versiones más recientes de Node.js, también puedes utilizar la sintaxis import
de ECMAScript para importar módulos. Aquí se muestra cómo lo harías:
import example from './example.js'
La instrucción import
es una mejora más reciente a JavaScript que la función require
. Tiene algunas ventajas sobre require
, como la posibilidad de importar funciones y objetos de manera selectiva, y el soporte para promesas asíncronas.
Sin embargo, ten en cuenta que para utilizar import
necesitas estar trabajando en un entorno que soporte ECMAScript 6 (ES6) o posterior, o que tu código esté siendo transformado a ES5 utilizando una herramienta como Babel.
Es deseable mantener la coherencia a lo largo de tu código. Si decides usar import
en lugar de require
, usa import
en todos tus archivos y viceversa.
Además, ten en cuenta las diferencias entre import
y require
a la hora de importar archivos. Por ejemplo, con require
, los módulos se cargan de forma síncrona y se ejecutan inmediatamente, mientras que import
es asíncrono.
Finalmente, recuerda que ambos métodos te permitirán importar tanto objetos como funciones de otros módulos, siempre y cuando hayan sido correctamente exportados en el archivo de origen.