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

2. Уроки Node.js. Модули Часть 2

Начнем урок с изучения объекта модуль, он содержит множество важных свойств, которые понадобиться в более сложных сценариях поведения.
Объект module это переменная, которая существует в каждом модуле.
Сделаем запись в index.js и выведем ее

Стиль кода

1) Название переменных и методов должно быть четким и ясным, не экономьте на буквах.
2) Методы должны быть не больше 30-40 строк, методы решают одну конкретную задачу, плохие методы делают все.

15. Уроки Node.js. Асинхронная разработка. Введение.

В реальной жизни очень редко бывает так, что, получив запрос, сервер может тут же на него ответить. Обычно для того, чтобы ответить, серверу нужны какие-то данные. Эти данные он получает либо из базы, либо из какого-то другого источника, например, из файловой системы. В этом примере, используя модуль fs при получении запроса на url ‘/’, считывается файл index.html и выводится посетителю.