12Sep

7
А теперь поговорим о следующем встроенном модуле 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 его нету.

Код урока вы можете найти в нашем репозитории.
nodejs

Материал урока взят из следующего скринкаста.

We are looking forward to meeting you on our website soshace.com

16. Уроки Node.js. Событийный цикл, библиотека libUV. Часть 1.

Всем привет. Если вы привыкли глубоко вникать в происходящее, то эта статья для вас. Здесь мы разберем те вопросы, которые рано или поздно обязательно возникнут при разработке, и ответа на которые требует глубокого понимания, как именно работает Node.js. Например, здесь (serverAsync.js смотрите файлы нашего предыдущего урока) для чтения файла использован асинхронный вызов:

22. Чат Через Long-Polling. Чтение POST. Pt.2.

Соответственно, что бы мы не записали, отправляется одно и то же. Давайте мы это поправим. Сообщения у нас отправляются методом POST. Для того, чтобы считать этот метод из req, нужно поработать с ним, как с потоком. Для этого посмотрим на следующую схему, которая описывает жизненный цикл запроса, а именно объектов req и res.