En Node.js, ¿cuál es la forma correcta de importar un módulo almacenado en un archivo llamado 'example.js'?

Cómo importar módulos en Node.js con 'require' e 'import'

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:

Usando 'require'

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.

Usando 'import'

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.

Mejores prácticas

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.

Related Questions

¿Te resulta útil?