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

4. Уроки Node.js. Структура Пакета NPM

Продолжаем наш разговор об NPM.Для того чтобы посмотреть на реальный package.json поставим модуль express. Введем в консоли:

npm i [email protected]

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

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

23. Уроки Node.js. Домены, “асинхронный try..catch”. Часть 3.

Итак, из чего состоит app.js?

Он состоит из того, что мы с самого начала делаем домен, и запускаем в нем все наше приложение. Здесь подключаются все модули, создается сервер и т.д. Почему мы подключаем модули здесь? Потому что во время подключения модулей могут подключаться какие-то другие модули, а те могут подключать – третьи, и т.д.

21. Уроки Node.js. Writable Поток Ответа res, Метод pipe. Pt.2

По окончании файла наступит событие end, в обработчике которого мы завершим ответ вызовом res.end. Таким образом, будет закрыто исходящее соединение, потому что файл полностью отослан. Получившийся код является весьма универсальным: