Tu primer módulo
Parte de la sección Conceptos básicos de Node.js del Journey de Node.js de Coddy. Lección 7 de 33.
notes.js sigue creciendo, y el código que da formato a una nota se necesitará en más de un lugar.
Un módulo es un archivo. export delante de una función permite que otros archivos la usen, e import { name } from './file.js' la importa:
// math.js
export function add(a, b) {
return a + b;
}
// app.js
import { add } from './math.js';
console.log(add(2, 3));Sin export, la función sigue siendo privada de math.js y la importación falla. La ruta empieza con ./, que significa la misma carpeta, y termina con .js: Node no adivina la extensión.
Desafío
Fácilnotes.js se está haciendo largo. Mueve el código que convierte una nota en una línea numerada a su propio archivo, format.js, para que otros archivos también puedan usarlo.
- En
format.js, escribe una funciónformatNote(n, text)y expórtala. Devuelve el número, un punto, un espacio y después el texto.formatNote(1, 'Buy milk')devuelve'1. Buy milk', yformatNote(3, 'Call Ada')devuelve'3. Call Ada'. Devuelve la línea; no la imprime. - En
notes.js, importaformatNotedesde./format.jsal principio del archivo. - En la rama
add, reemplaza la línea que imprimeAdding: .... Ahora imprimeAdding:seguido deformatNote(1, text), que es la nota numerada como 1. Por ahora todas las notas tienen el número 1; el número real llegará en la próxima lección.
node notes.js add Buy milk imprime:
Adding: 1. Buy milkInténtalo: escribe add Buy milk en el cuadro después de $ node notes.js y presiona Enter. Verás Adding: 1. Buy milk. Después, descubre qué dice Node sobre una ruta incorrecta: elimina .js de la línea de importación en notes.js y vuelve a ejecutar el programa. El programa se detiene con un error que dice que no encuentra el módulo format. Vuelve a poner .js antes de presionar «Comprobar».
Pruébalo tú mismo
// formatNote(1, 'Buy milk') debería devolver '1. Buy milk'.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Conceptos básicos de Node.js
Practica por tu cuenta: Playground de Express