09-06-2018 12:03

Node.js для начинающих: описание, руководство, особенности

Node.js — это среда выполнения JavaScript, встроенная в версию движка JS V8 от Chrome. Платформа Node.js для начинающих использует управляемую событиями, не блокирующую модель ввода-вывода, которая делает ее легкой и эффективной. Пакетная экосистема Node.js является самой большой экосистемой библиотек с открытым исходным кодом в мире. Проект поддерживается Фондом Node.js. Взносы, политика и выпуски контролируются в рамках модели открытого управления.

Node.js для начинающих: определение

Node.js — это платформа разработки с открытым исходным кодом для выполнения кода JavaScript на стороне сервера. Node полезен для разработки приложений, которым требуется постоянное соединение из браузера с сервером. Часто используется для приложений реального времени, таких как чат, новостные ленты и push-уведомления.

Hardware - это что такое?Вам будет интересно:Hardware - это что такое?

Node.js предназначен для работы на выделенном HTTP-сервере и для использования одного потока с одним процессом за одну единицу времени. Начало работы в Node.js основано на событиях и выполняется асинхронно. Код, построенный на данной платформе, не соответствует традиционной модели приема, обработки, отправки, ожидания и получения. Вместо этого Node обрабатывает входящие запросы в стеке постоянных событий, отправляет небольшие запросы один за другим и не дожидается ответов.

Как включить ВПН в "Опере" на ПК?Вам будет интересно:Как включить ВПН в "Опере" на ПК?

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

Начало Node.js — JavaScript

Node базируется на JavaScript, в связи с чем понимание работы данной платформы невозможно без экскурса в JS. Уроки для начинающих Node.js содержат много вводной информации о языке программирования, на котором была основана эта платформа. JavaScript — это интерпретируемый язык программирования или скриптов из Netscape. Он похож на возможности Microsoft Visual Basic, Sun Tcl, Perl от UNIX и REXX от IBM. Языки сценариев JavaScript проще и быстрее кодировать, чем более структурированные и скомпилированные, такие как C и C ++. Языки скриптов обычно занимают больше времени, чем компилируемые, но они очень полезны для коротких программ.

Использование функции trim (PHP)Вам будет интересно:Использование функции trim (PHP)

JavaScript используется в разработке веб-сайта для выполнения таких задач, как автоматическое изменение форматированной даты на веб-странице. Это причина, по которой связанная страница будет отображаться во всплывающем окне.

При изменении текста или графического изображения JavaScript использует те же идеи, что и в Java (скомпилированное объектно-ориентированное программирование, производное от C ++).

Характерные особенности JS

JavaScript обычно используется в веб-разработке. Он был первоначально разработан Netscape как средство для добавления динамических и интерактивных элементов на веб-сайты. Хотя JavaScript зависит от Java, синтаксис больше похож на C и основан на ECMAScript — языке сценариев, разработанном Sun Microsystems.

JavaScript — это язык сценариев на стороне клиента. Это означает, что исходный код обрабатывается веб-браузером клиента, а не веб-сервером. Функции могут запускаться после загрузки веб-страницы без связи с сервером. Например, функция JavaScript может проверять веб-форму перед отправкой, чтобы убедиться, что все необходимые поля заполнены. Код может выдать сообщение об ошибке, прежде чем какая-либо информация будет фактически передана на сервер.

Подобно серверным скриптовым языкам, таким как PHP и ASP, код JavaScript может быть вставлен в любом месте HTML-страницы в веб. Однако в HTML отображается только вывод серверного кода, а код JavaScript остается полностью видимым в источнике веб-страницы. Его также можно найти в отдельном файле .JS, который также можно просмотреть в браузере.

Образцы кода

Ниже приведен пример базовой функции JavaScript, которая добавляет два числа. Функция вызывается с параметрами 7 и 11. Если приведенный ниже код был включен в HTML веб-страницы, он отобразил текст «18» в поле предупреждения.

Функции JavaScript можно вызывать в тегах

list $ nvm

v0.6.3 v0.6.12 v0.6.14 v0.6.19 v0.7.7 v0.7.8 v0.7.9 v0.8.6 v0.8.11 v0.10.3 v0.10.12 v0.10.15 v0.10.21 v0.10.24 v0.11.9 ток: v0.10.24 default -> v0.10.24

Модули

В учебнике Node.JS для начинающих Java или Python предписывается использование функции импорта для загрузки других библиотек, в то время как применение PHP и Ruby этого не требует. Node реализует интерфейс CommonJS для модулей. Также вы можете загружать другие варианты, используя ключевое слово require.

Например, нам могут потребоваться некоторые собственные модули:

var http = require ('http');

var dns = require ('dns');

Пример jQuery. Простые примеры скриптов на jQueryВам будет интересно:Пример jQuery. Простые примеры скриптов на jQuery

Мы также можем вызвать относительные файлы:

var myFile = require ('./ myFile'); // download myFile.js

Чтобы установить модули из числа NPM, выполните поиск их на веб-сайте или в Github. Синтаксис для установки модуля локально довольно простой:

# where express === имя модуля

$ npm install express

Обратные вызовы

В асинхронном программировании мы не возвращаем значения, когда выполняются функции, но вместо этого используем стиль продолжения прохождения (CPS). С помощью этого стиля асинхронная функция вызывает обратный вызов (функция, обычно передаваемая как последний аргумент) для продолжения программы после ее завершения.

Ниже приведен пример поиска IPv4-адресов для домена:

var dns = require ('dns');

dns.resolve4 ('www.google.com', function (err, addresses) {

if (err) throw err;

console.log ('addresses:' + JSON.stringify (addresses));

});

Мы передали обратный вызов (встроенную анонимную функцию) в качестве второго аргумента асинхронной dns.resolve4. Как только функция async будет готова, он вызовет обратный вызов, продолжив выполнение программы.

События

В руководстве для начинающих в Node.JS представлен стандартный шаблон обратного вызова, который хорошо работает для случаев использования, когда мы хотим получать уведомления при завершении функции асинхронизации. Однако есть ситуации, требующие уведомления о различных событиях, которые не происходят одновременно.

Давайте рассмотрим это на примере кода с IRC-клиентом:

var irc = require ('irc');

var client = new irc.Client ('irc.freenode.net', 'myIrcBot', {

каналов: ['# sample-channel']

});

client.on ('error', function (message) {

console.error ('error:', message);

});

client.on ('connect', function () {

console.log («подключен к серверу irc»);

});

client.on ('message', function (from, to, message) {

console.log (from + '=>' + to + ':' + message);

});

client.on ('pm', function (from, message) {

console.log (from + '=> ME: + message);

}).

В приведенном выше примере мы имеем дело с тремя типами событий:

  • событие подключения выдается, когда клиент успешно подключился к IRC-серверу;

  • событие ошибки запускается в случае возникновения ошибки;

  • сообщения и события pm выбраны для входящих сообщений.

Вышеупомянутые события делают эту ситуацию идеальной для использования шаблона EventEmitter.

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

Node имеет класс EventEmitter в ядре, который мы можем использовать для создания собственных объектов EventEmitter. Попробуем создать класс MemoryWatcher, который наследует EventEmitter и генерирует два типа событий:

  • данных с регулярным интервалом, которое представляет использование памяти в байтах;

  • событие ошибки, если память превышает определенный предел.

Итак, Node - это не веб-сервер, а один из способов создать код на компьютере. Он является средой для выполнения JavaScript.



Источник