Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Оглавление

REPL — интерактивный режим

REPL — интерактивный режим Node.js. Название складывается из слов Read, Eval, Print, Loop: прочитать строку, выполнить, напечатать результат и ждать следующую. Он нужен, чтобы быстро проверить выражение или функцию, не создавая файл.

Запуск

Наберите node без имени файла:

node

Появится приглашение >. Вводите выражения — результат печатается сразу:

> 2 + 3
5
> 'blog'.toUpperCase()
'BLOG'
> [1, 2, 3].map((n) => n * 2)
[ 2, 4, 6 ]

Писать console.log() не нужно: REPL сам показывает значение каждого выражения.

Переменные и последний результат

Переменные живут до выхода из REPL. Специальная переменная _ хранит результат предыдущего выражения:

> const posts = ['Первая статья', 'Вторая статья']
undefined
> posts.length
2
> _ * 10
20

undefined после объявления — это нормально: само объявление ничего не возвращает.

Встроенные модули

Встроенные модули в REPL уже подключены — их можно использовать по имени без import:

> path.extname('post.json')
'.json'
> os.platform()
'win32'

Верхнеуровневый await тоже работает: наберите await fs.promises.readdir('.'), чтобы увидеть список файлов текущей папки.

Команды REPL

Команды начинаются с точки:

КомандаЧто делает
.helpСписок команд
.editorВвод нескольких строк, завершается Ctrl+D
.load app.jsВыполняет файл в текущем сеансе
.exitВыход

Выйти можно и двойным нажатием Ctrl+C. Клавиша Tab дополняет имена: наберите posts. и нажмите Tab дважды, чтобы увидеть все методы массива.

Частая ошибка

Команду node app.js нужно вводить в обычном терминале, а не внутри REPL. Если набрать её после приглашения >, Node.js воспримет её как JavaScript:

> node app.js
Uncaught ReferenceError: node is not defined

Выйдите из REPL командой .exit и запустите файл снова.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.