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

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

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

22. Чат через long-polling, чтение POST. Pt.1.

Всем привет! Цель этого занятия – научиться делать чат на Node.js. Для начала наш чат будет достаточно простой. Всего лишь каждый, кто заходит по этому url

http://localhost:3000/

автоматически попадает в комнату, в которой может получать сообщения от другого пользователя, находящегося в этой же самой комнате, в нашем случае переписка может вестись из разных браузеров. Мы будем делать его в начале без пользователей, базы данных, авторизации.