А теперь поговорим о следующем встроенном модуле console. Как мы уже знаем , он использует util.format и util.inspect для вывода. Console в отличие от util является глобальной переменной. Это большая редкость в Node.js, но, действительно, сonsole не обязательно мы должны require. Она есть везде.
Теперь кратко взглянем на основные методы этого объекта, отчасти их всего два. Создадим файл console.js и в нем напишем:
// NO console.debug console.log("Log"); // = info (out) console.error("Error"); // = warn (err)
console.log или это то же самое, что и console.info. И console.error – то же самое что и console.warn. Для чего существуют два метода? Сейчас запущу node console.js. Есть ли разница? По виду ее нет, но на самом деле она существует. Она заключается в том, что log выводит стандартный поток вывода, а error выводит поток ошибок. Это системные термины. Смысл такой, что у каждой программы, у каждого процесса есть как минимум два потока вывода. Первый считается нормальным выводом, второй считается ошибками. Можно их, например, направить в разные файлы (пишем в терминале):
node console.js 1>ok 2>err
То, что выведено в первый поток пойдет в файл ok. Сейчас там находится log. То, что вывелось во второй поток, в поток ошибок, находится в err.
Таким образом, если мы делаем перенаправление вывода и правильно используем Error и Log, то мы всегда можем отличить хорошее сообщение от ошибки.
Кроме этих методов есть еще метод, который используется достаточно редко:
console.trace(); // (err)
Он выводить текущий стек trace – тоже в поток ошибок. Бывает иногда полезно, но редко.
Наконец:
// NO console.debug
Обращаю ваше внимание на этот метод, точнее на его отсутствие. В браузерах он обычно есть, а в Node.js его нету.
Код урока вы можете найти в нашем репозитории.
Материал урока взят из следующего скринкаста.
We are looking forward to meeting you on our website soshace.com