Menu
CoddyTech

Seu primeiro módulo

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

notes.js continua crescendo, e o código que formata uma nota será necessário em mais de um lugar.

Um módulo é um arquivo. export antes de uma função permite que outros arquivos a usem, e import { name } from './file.js' a importa:

// math.js
export function add(a, b) {
    return a + b;
}

// app.js
import { add } from './math.js';
console.log(add(2, 3));

Sem export, a função fica privada em math.js, e a importação falha. O caminho começa com ./, que significa a mesma pasta, e termina com .js: o Node não deduz a extensão.

challenge icon

Desafio

Fácil

notes.js está ficando longo. Mova o código que transforma uma anotação em uma linha numerada para o próprio arquivo, format.js, para que outros arquivos também possam usá-lo.

  1. Em format.js, escreva uma função formatNote(n, text) e exporte-a. Ela retorna o número, um ponto final, um espaço e, em seguida, o texto. formatNote(1, 'Buy milk') retorna '1. Buy milk', e formatNote(3, 'Call Ada') retorna '3. Call Ada'. Ela retorna a linha; não a imprime.
  2. Em notes.js, importe formatNote de ./format.js no início do arquivo.
  3. No ramo add, substitua a linha que imprime Adding: .... Agora ela imprime Adding: seguido por formatNote(1, text), que é a anotação numerada como 1. Por enquanto, todas as anotações têm o número 1; o número real será definido na próxima lição.

node notes.js add Buy milk imprime:

Adding: 1. Buy milk

Experimente: digite add Buy milk na caixa depois de $ node notes.js e pressione Enter. Você verá Adding: 1. Buy milk. Depois, veja o que o Node diz sobre um caminho incorreto: exclua .js da linha de importação em notes.js e execute novamente. O programa para com um erro dizendo que não consegue encontrar o módulo format. Coloque .js de volta antes de pressionar “Verificar”.

Experimente você mesmo

// formatNote(1, 'Buy milk') deve retornar '1. Buy milk'.
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

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

Pratique por conta própria: Playground de Express