Экспорты по умолчанию
Часть раздела Основы 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 ничего не названо. Используйте экспорт по умолчанию для основного значения файла, а именованные экспорты — для файла с вспомогательными функциями.
Задание
ЛегкоТвоим заметкам нужно одно место для хранения. Новый файл store.js хранит их в объекте store, который изначально содержит три заметки в store.notes. Передай это хранилище файлу notes.js и используй его в add и list.
- В
store.jsсделайstoreэкспортом файла по умолчанию. Комментарий внизу указывает нужное место. - В
notes.jsимпортируй хранилище вверху, рядом с импортомformatNote. У импорта по умолчанию нет фигурных скобок. - В ветке
addдобавь заметку с помощьюstore.add(text). Эта функция возвращает номер новой заметки. ВыведиAdding:, а затем заметку, отформатированную с этим номером. В хранилище изначально три заметки, поэтому командаnode notes.js add Buy breadвыводит:Adding: 4. Buy bread - В ветке
listоставь заголовокNotes for .... Под ним выведи все заметки из хранилища, по одной в строке, каждую отформатируй с помощьюformatNoteи пронумеруй начиная с 1. Командаnode notes.js listвыводит:Если в хранилище нет заметок, всё равно выведиNotes for you 1. Buy milk 2. Call Ada 3. Water the plantsNo 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