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


Опубликованно 11.03.2018 02:03

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

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

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

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

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

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

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» в окне предупреждения.

<script>

function sum(a,b)

{

return a + b;

}

var total = sum(7,11);

alert(total);

</script>

Функция JavaScript, вы можете позвонить в теге <script>, или при возникновении определенных событий. Примеры включают в себя onClick, onMouseDown, onmouseup ниже, onKeyDown, onKeyUp, onFocus, onBlur, onSubmit и многие другие. Даже если стандартный JavaScript до сих пор используется для выполнения всех основных почтовых клиентов функций, многие веб-разработчики предпочитают использовать библиотеки JavaScript, такие как jQuery, чтобы добавить к веб-сайтам, более продвинутые динамические элементы.

Преимущества и важные нюансы

Одним из основных преимуществ Node.js согласно его создатель Райан Даля, является то, что не блокирует ввода/вывода (I/O). Некоторые разработчики очень критические по отношению к Node.js и отмечают, что если процесс требует значительного количества циклов процессора, приложение зависает. Это может вызвать ошибки. Сторонники модели Node.js говорят, что время обработки цп менее тревожным из-за большого числа мелких процессов, на которых базируется сайт код.

Популярность JavaScript-приложений стремительно растет в последние годы, и Node.js безусловно, способствует этому росту. Если мы посмотрим статистику, то увидим, что в мире больше пакетов Node данных, подобные Руби. Второй фактор: пакеты Node растут быстрее, чем Ruby, Python и Java.

Что делает его более популярным Rails и другие альтернативы Node.JS? С чего начать учиться? Узел сам по себе является асинхронный платформы, основанной на событиях, построен на базе движка JavaScript в Chrome и предназначен для создания масштабируемых сетевых приложений. Другими словами, Node.js — это код JavaScript plus C/C ++ в сотрудничестве с файловой системой, запуск HTTP-или TCP-сервер.

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

Между языками и Node.js существуют большие различия:

Node позволяет выполнять другие задачи, ожидая, уведомление, когда ответ будет доступен;

приложение не хранит в буфере данных в памяти, а вместо этого показывает его фрагмент.

Хотя есть и другие системы, циклов, событий (например, библиотека в Ruby EventMachine или Неправ в Python), между ними и Node существует значительная разница.

В Node.JS все библиотеки были разработаны с нуля, чтобы быть в ваших руках, чего нельзя сказать о других.

Варианты использования

Node идеально подходит для приложений с ссылкой на ввод-вывод, но это не так хорошо для приложений с тяжелыми процессор. Хорошим примером являются приложения для работы в реальном времени (DIRT), на одной странице, JSON API и приложения для потоковой передачи данных.Официальный менеджер пакетов Node (НПМ)

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

при установке приложения на локальном уровне и на глобальном уровне;

одновременно обрабатывает несколько версий одного и того же модуля;

вы можете указать tarballs или git репозитории в качестве зависимостей;

очень легко опубликовать свой собственный модуль, в реестре НПМ.Установка Node.js

Для начинающих есть официальные установщики для Node в Windows и OS X, также представлена возможность установки через менеджер пакетов. Для того, чтобы проверить код пользователя с различными версиями узлов используется NVM (директор версиях Node).

С помощью этого инструмента вы можете использовать различные версии узла, установленных в системе, и легко переключаться между ними. В следующих строках мы увидим, как установить ВИДЕОРЕГИСТРАТОР в системе Ubuntu.

Во-первых, мы должны убедиться, что наша система имеет компилятора C ++:

$ sudo apt-get update

$ sudo apt-get install build-essential libssl-dev

После мы можем скопировать и вставить строки программы установки для ВИДЕОРЕГИСТРАТОРА в терминале:

$ curl https://raw.githubusercontent.com/creationix/nvm/v0.13.1/install.sh | hit

ВИДЕОРЕГИСТРАТОР должен быть установлен правильно, а затем выходим из системы и разрешают, чтобы убедиться, что все правильно. Введите команду:

$ nvm

Если при вводе возникает ошибка, это означает, что все в порядке. Теперь мы можем перейти к реальной создания Node и NPM.

В результате в командной строке должен быть похож на следующий:

$ nvm install v0.10.31

################################################## ################ 100,0%

Теперь оба узла и нпм должны быть доступны в терминале:

$ node-v & amp; & amp; & amp; npm-v

v0.10.31

1.4.23

Теперь необходимо настроить загрузку Node.JS по умолчанию, команды в терминале:

$ nvm псевдоним по умолчанию 0.10.31

Мы можем установить другие версии Node, так же, как прежде, и переключаться между ними с помощью команды nvm use:

$ nvm install v0.8.10

Если вы не уверены, какая версия и установлен в вашей системе, просто введите nvm-list. Этот инструмент покажет вам весь список, и также текущего и версия по умолчанию, например:

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');

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

var myFile = require ('./ myFile'); // загрузка myFile.js

Для того, чтобы установить модули чисел, НПМ, поиск их веб-сайте или в Github. Синтаксис для установки модуля в местном довольно просто:

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

$ npm install expressНапомним,

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

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

var dns = require ('dns');

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

if (err) throw err;

консоли.log ('адрес:' + JSON.stringify (адреса));

});

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

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

Рассмотрим пример кода с IRC-клиента:

var irc = require ('irc');

var client = new irc.Клиент ('irc.freenode.net', 'myIrcBot', {

каналы: ['# sample-канал']

});

клиента.on ('error', function (message) {

консоли.error ('ошибка:', message);

});

клиента.on ('connect', function () {

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

});

клиента.on ('message', function (from, to, message) {

консоли.журналы (from + '=>' + a + ':' + message);

});

клиента.on ('pm', function (from message) {

консоли.журналы (from + '=> МНЕ: + message);

}).

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

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

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

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

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

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

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

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

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

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



Категория: Техника