Menu
CoddyTech

Экспорты по умолчанию

Часть раздела Основы Node.js путешествия по Node.js на Coddy. Урок 8 из 33.

В этом уроке добавляется store.js — файл, посвящённый одному: хранилищу для ваших заметок. Такой файл экспортирует это единственное значение по умолчанию, а импортирующий его файл может выбрать для него любое имя.

export default обозначает единственное значение, которому посвящён файл. Импортирующий файл задаёт ему любое имя и не использует фигурные скобки:

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

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

Фигурные скобки указывают на именованный экспорт, поэтому здесь import { config } from './config.js' не сработает: в config.js ничего не названо. Используйте экспорт по умолчанию для основного значения файла, а именованные экспорты — для файла с вспомогательными функциями.

challenge icon

Задание

Легко

Твоим заметкам нужно одно место для хранения. Новый файл store.js хранит их в объекте store, который изначально содержит три заметки в store.notes. Передай это хранилище файлу notes.js и используй его в add и list.

  1. В store.js сделай store экспортом файла по умолчанию. Комментарий внизу указывает нужное место.
  2. В notes.js импортируй хранилище вверху, рядом с импортом formatNote. У импорта по умолчанию нет фигурных скобок.
  3. В ветке add добавь заметку с помощью store.add(text). Эта функция возвращает номер новой заметки. Выведи Adding: , а затем заметку, отформатированную с этим номером. В хранилище изначально три заметки, поэтому команда node notes.js add Buy bread выводит:
    Adding: 4. Buy bread
  4. В ветке list оставь заголовок Notes for .... Под ним выведи все заметки из хранилища, по одной в строке, каждую отформатируй с помощью formatNote и пронумеруй начиная с 1. Команда node notes.js list выводит:
    Notes for you
    1. Buy milk
    2. Call Ada
    3. Water the plants
    Если в хранилище нет заметок, всё равно выведи No notes yet под заголовком.

Попробуй: введи add Buy bread в поле после $ node notes.js и нажми Enter. Ты увидишь Adding: 4. Buy bread. Затем введи list: ты увидишь три начальные заметки, но не Buy bread. Хранилище находится в памяти, поэтому при каждом запуске всё начинается снова с трёх заметок из store.js. В главе 3 заметки будут сохраняться в файл.

Попробуйте сами

// Заметки хранятся здесь, пока в главе 3 их не сохранят в файл.
const store = {
    notes: ['Buy milk', 'Call Ada', 'Water the plants'],
    add(text) {
        this.notes.push(text);
        return this.notes.length;
    },
};

// Сделайте store экспортом по умолчанию из этого файла.

Все уроки раздела Основы Node.js

Потренируйтесь самостоятельно: Песочница Express