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.
Desafio
FácilSuas 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.
- Em
store.js, faça destorea exportação padrão do arquivo. O comentário no final indica o local. - Em
notes.js, importe o armazenamento no início do arquivo, ao lado da importação deformatNote. Uma importação padrão não tem chaves. - No ramo
add, adicione a nota comstore.add(text). Ele retorna o número da nova nota. ImprimaAdding:seguido da nota, formatada com esse número. O armazenamento começa com três notas, entãonode notes.js add Buy breadimprime:Adding: 4. Buy bread - No ramo
list, mantenha o cabeçalhoNotes for .... Abaixo dele, substituaNo notes yetpor todas as notas do armazenamento, uma por linha, cada uma formatada comformatNotee numerada a partir de 1.node notes.js listimprime:Se o armazenamento não tiver notas, ainda assim imprimaNotes for you 1. Buy milk 2. Call Ada 3. Water the plantsNo notes yetabaixo 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