Menu
CoddyTech

Exports padrão

Parte da seção Fundamentos de Node.js do Journey de Node.js da Coddy. Lição 8 de 33.

Esta lição adiciona store.js, um arquivo sobre uma única coisa: a loja que armazena suas notas. Um arquivo assim exporta essa única coisa como exportação padrão, e o arquivo que a importa escolhe qualquer nome para ela.

export default marca o único valor ao qual um arquivo se refere. Quem importa dá a ele qualquer nome e não escreve chaves:

// config.js
const config = { port: 3000 };
export default config;

// app.js
import settings from './config.js';
console.log(settings.port);

As chaves indicam uma exportação nomeada, então import { config } from './config.js' falha aqui: config.js não nomeia nada. Use uma exportação padrão para o valor principal de um arquivo e exportações nomeadas para um arquivo de funções auxiliares.

challenge icon

Desafio

Fácil

Suas notas precisam de um lugar único para ficar. O novo arquivo store.js guarda as notas em um objeto store, que começa com três notas em store.notes. Compartilhe esse armazenamento com notes.js e use-o em add e list.

  1. Em store.js, faça de store a exportação padrão do arquivo. O comentário no final indica o local.
  2. Em notes.js, importe o armazenamento no início do arquivo, ao lado da importação de formatNote. Uma importação padrão não tem chaves.
  3. No ramo add, adicione a nota com store.add(text). Ele retorna o número da nova nota. Imprima Adding: seguido da nota, formatada com esse número. O armazenamento começa com três notas, então node notes.js add Buy bread imprime:
    Adding: 4. Buy bread
  4. No ramo list, mantenha o cabeçalho Notes for .... Abaixo dele, substitua No notes yet por todas as notas do armazenamento, uma por linha, cada uma formatada com formatNote e numerada a partir de 1. node notes.js list imprime:
    Notes for you
    1. Buy milk
    2. Call Ada
    3. Water the plants
    Se o armazenamento não tiver notas, ainda assim imprima No notes yet abaixo do cabeçalho.

Experimente: digite add Buy bread na caixa após $ node notes.js e pressione Enter. Você verá Adding: 4. Buy bread. Em seguida, digite list: você verá as três notas iniciais, mas não Buy bread. O armazenamento fica na memória, então cada execução começa novamente com as três notas de store.js. O capítulo 3 salva as notas em um arquivo.

Experimente você mesmo

// As anotações ficam aqui até que o capítulo 3 as salve em um arquivo.
const store = {
    notes: ['Buy milk', 'Call Ada', 'Water the plants'],
    add(text) {
        this.notes.push(text);
        return this.notes.length;
    },
};

// Faça de store a exportação padrão deste arquivo.

Todas as lições de Fundamentos de Node.js

Pratique por conta própria: Playground de Express