Menu
CoddyTech

Ваш первый модуль

Часть раздела Основы 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 не угадывает расширение.

challenge icon

Задание

Легко

Файл notes.js становится длинным. Перенеси код, который превращает заметку в пронумерованную строку, в отдельный файл format.js, чтобы его могли использовать и другие файлы.

  1. В format.js напиши функцию formatNote(n, text) и экспортируй её. Она возвращает число, точку, пробел, а затем текст. formatNote(1, 'Buy milk') возвращает '1. Buy milk', а formatNote(3, 'Call Ada') возвращает '3. Call Ada'. Она возвращает строку, но не выводит её на экран.
  2. В начале файла notes.js импортируй formatNote из ./format.js.
  3. В ветке 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'.
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

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

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