Menu
CoddyTech

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.

challenge icon

Desafío

Fácil

Tus 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.

  1. En store.js, convierte store en la exportación predeterminada del archivo. El comentario de la parte inferior indica el lugar.
  2. En notes.js, importa el almacén al principio, junto a la importación de formatNote. Una importación predeterminada no lleva llaves.
  3. En la rama add, añade la nota con store.add(text). Devuelve el número de la nueva nota. Imprime Adding: seguido de la nota, con el número correspondiente. El almacén empieza con tres notas, así que node notes.js add Buy bread imprime:
    Adding: 4. Buy bread
  4. En la rama list, conserva el encabezado Notes for .... Debajo, reemplaza No notes yet por todas las notas del almacén, una por línea, cada una con formato de formatNote y numerada desde 1. node notes.js list imprime:
    Notes for you
    1. Buy milk
    2. Call Ada
    3. Water the plants
    Si el almacén no tiene notas, imprime igualmente No notes yet debajo 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