Ваш первый модуль
Часть раздела Основы Node.js путешествия по Node.js на Coddy. Урок 7 из 33.
notes.js продолжает расти, и код для форматирования заметки понадобится не в одном месте.
Модуль — это файл. export перед функцией позволяет использовать её в других файлах, а import { name } from './file.js' импортирует её:
// math.js
export function add(a, b) {
return a + b;
}
// app.js
import { add } from './math.js';
console.log(add(2, 3));Без export функция остаётся приватной для math.js, и импорт завершается ошибкой. Путь начинается с ./, что означает ту же папку, и заканчивается на .js: Node не угадывает расширение.
Задание
ЛегкоФайл notes.js становится длинным. Перенеси код, который превращает заметку в пронумерованную строку, в отдельный файл format.js, чтобы его могли использовать и другие файлы.
- В
format.jsнапиши функциюformatNote(n, text)и экспортируй её. Она возвращает число, точку, пробел, а затем текст.formatNote(1, 'Buy milk')возвращает'1. Buy milk', аformatNote(3, 'Call Ada')возвращает'3. Call Ada'. Она возвращает строку, но не выводит её на экран. - В начале файла
notes.jsимпортируйformatNoteиз./format.js. - В ветке
addзамени строку, которая выводитAdding: .... Теперь она выводитAdding:, а за ним следуетformatNote(1, text), то есть заметка с номером 1. Пока номер каждой заметки — 1; настоящий номер появится в следующем уроке.
Команда node notes.js add Buy milk выводит:
Adding: 1. Buy milkПопробуй: введи add Buy milk в поле после $ node notes.js и нажми Enter. Ты увидишь Adding: 1. Buy milk. Затем посмотри, что сообщит Node о неправильном пути: удали .js из строки импорта в notes.js и запусти программу снова. Программа остановится с ошибкой о том, что не удаётся найти модуль format. Верни .js, прежде чем нажать «Проверить».
Попробуйте сами
// formatNote(1, 'Buy milk') должна возвращать '1. Buy milk'.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы Node.js
Потренируйтесь самостоятельно: Песочница Express