Exportaciones predeterminadas
Parte de la sección Conceptos básicos de Node.js del Journey de Node.js de Coddy. Lección 8 de 33.
Esta lección añade store.js, un archivo dedicado a una sola cosa: la tienda que guarda tus notas. Un archivo así exporta esa única cosa como exportación predeterminada, y el archivo que la importa elige cualquier nombre para ella.
export default marca el único valor al que está dedicado un archivo. Quien lo importa le asigna cualquier nombre y no escribe llaves:
// config.js
const config = { port: 3000 };
export default config;
// app.js
import settings from './config.js';
console.log(settings.port);Las llaves indican que se trata de una exportación con nombre, así que import { config } from './config.js' falla en este caso: config.js no exporta nada con ese nombre. Usa una exportación predeterminada para el valor principal de un archivo y exportaciones con nombre para un archivo que contiene funciones auxiliares.
Desafío
FácilTus notas necesitan un lugar donde guardarse. El nuevo archivo store.js las almacena en un objeto store, que empieza con tres notas en store.notes. Comparte ese almacén con notes.js y úsalo en add y list.
- En
store.js, conviertestoreen la exportación predeterminada del archivo. El comentario de la parte inferior indica el lugar. - En
notes.js, importa el almacén al principio, junto a la importación deformatNote. Una importación predeterminada no lleva llaves. - En la rama
add, añade la nota constore.add(text). Devuelve el número de la nueva nota. ImprimeAdding:seguido de la nota, con el número correspondiente. El almacén empieza con tres notas, así quenode notes.js add Buy breadimprime:Adding: 4. Buy bread - En la rama
list, conserva el encabezadoNotes for .... Debajo, reemplazaNo notes yetpor todas las notas del almacén, una por línea, cada una con formato deformatNotey numerada desde 1.node notes.js listimprime:Si el almacén no tiene notas, imprime igualmenteNotes for you 1. Buy milk 2. Call Ada 3. Water the plantsNo notes yetdebajo del encabezado.
Pruébalo: escribe add Buy bread en el cuadro después de $ node notes.js y pulsa Intro. Verás Adding: 4. Buy bread. Luego escribe list: verás las tres notas iniciales, pero no Buy bread. El almacén está en la memoria, así que cada ejecución vuelve a empezar con las tres notas de store.js. El capítulo 3 guarda las notas en un archivo.
Pruébalo tú mismo
// Las notas permanecen aquí hasta que el capítulo 3 las guarde en un archivo.
const store = {
notes: ['Buy milk', 'Call Ada', 'Water the plants'],
add(text) {
this.notes.push(text);
return this.notes.length;
},
};
// Haz que store sea la exportación predeterminada de este archivo.
Todas las lecciones de Conceptos básicos de Node.js
Practica por tu cuenta: Playground de Express