Node.js для начинающих: описание, руководство, характеристики
Опубликованно 25.04.2018 12:12
Node.js это среда выполнения JavaScript, встроенная в ядро версии JS V8 Chrome. Платформы Node.js для начинающих использует событиями, не блокируйте модель вход-выход, что позволяет легко и эффективно. В партии экосистемы Node.js это самый большой экосистемы библиотеки с открытым исходным кодом в мире. Проект при поддержке Фонда Node.js. Вклад политики и изданий, которые контролируются в рамках открытой модели управления.Node.js для начинающих: определение
Node.js -это платформа разработки с открытым кодом для выполнения кода JavaScript на стороне сервера. Node полезна для разработки приложений, которые требуют постоянное подключение к Интернету из браузера с сервером. Часто используется для приложений реального времени, таких как чат, Новости и push-уведомления.
Node.js предназначен для работы на сервере HTTP и для использования потока процесса за единицу времени. Он начал работать в Node.js основана на событиях и выполняется асинхронно. Код, построенный на этой платформе, не соответствует традиционной модели, приема, обработки, отправки, ожидания и приема. Вместо этого, Узел обрабатывает запросы ввода в стек постоянных событий, отправляет запросы немного по-одному, и не ждет ответа.
Книга Node.JS для начинающих содержат большое количество данных о переходе основных модели, которые вызывают более крупных, сложных и, в то же время запускаются несколько потоков. Каждый из них ждет вашего ответа, прежде чем двигаться вперед. Начало Node.js — JavaScript
Node основан на JavaScript, понимание работы этой платформы невозможно без экскурса JS. Уроки для начинающих Node.js содержат большое количество основные сведения о языке программирования, на основе этой платформы. JavaScript-это язык программирования или сценариев Netscape. Аналогична функции Visual Basic, Sun Tcl, Perl, REXX, UNIX и IBM. Языки сценариев 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(всего);
</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, что подобные данные Ruby. Второй фактор: пакеты Node растут быстрее, чем Ruby, Python и Java.
Что делает его более популярным, чем Rails и другие альтернативы Node.JS? С чего начать изучение? Node в себе, асинхронный, платформа на основе событий на основе движка JavaScript, Chrome и предназначена для создания масштабируемых сетевых приложений. Другими словами, Node.js это JavaScript более C/C ++ в совокупности с файловой системой, вход, HTTP-или TCP-сервер.
Node принять и использует модель параллелизма, основанная на цикле событий. Не блокирует процессам и не заставляет программу ждать, но регистрирует обратный вызов и позволяет приложению продолжить. Это означает, что платформа может обрабатывать одновременные операции без нескольких потоков выполнения и эффективность масштабирования.
Между языками и Node.js существуют большие различия:
Node позволяет выполнять другие задачи, ожидая, уведомление, когда ответ;
приложение не записывает в буфер данные в памяти, и вместо этого показывает его фрагментарно.
Хотя существуют и другие системы циклов мероприятий (например, библиотека в Ruby EventMachine или Twisted Python), и между ними и Node существует значительная разница.
В Node.JS все библиотеки были разработаны с нуля, чтобы быть я не верю ни, что не можно сказать о других.
Варианты использования
Node идеально подходит для приложений, привязки ввода-вывода, но это не так хорошо для приложений с высокой нагрузкой ЦП. Отличным примером являются приложения для работы в реальном времени (DIRT), Dance, JSON API и приложений для передачи данных.Официальный менеджер пакетов Node (NPM)
Node должен большую часть своего успеха менеджера пакетов, который идет вместе с ним. Преимущества этого средства:
устанавливается функция приложений локально, а не глобально;
в то же время обрабатывается несколько версий одного и того же модуля;
вы можете указать архивы или репозитарии git в качестве зависимостей;
это очень легко опубликовать свой модуль в журнале NPM.Установка Node.js
Для начинающих есть официальные инсталляторы для Node на Windows и OS X, также появилась возможность установки через менеджер пакетов. Для тестирования кода пользователя с различными версиями узлов ПМ (диспетчер версий Node).
С помощью этого инструмента вы можете использовать несколько версий сайта, установленных в системе, и легко переключаться между ними. В следующих строках мы будем смотреть, как установить NVM в системе Ubuntu.
Во-первых, мы должны убедиться, что наша система имеет компилятор для C ++:
$ sudo apt-get update
$ sudo apt-get install build-essential libssl-dev
После этого мы можем скопировать и вставить строку установки NVM в терминале:
$ curl https://raw.githubusercontent.com/creationix/nvm/v0.13.1/install.sh | хит
NVM должен быть правильно установлен, так что мы вышли из системы и профессиональные, чтобы убедиться, что все работает правильно. Вводим команду:
$ nvm
Если при вводе возникает ошибка, то это означает, что все в порядке. Теперь мы можем перейти к реальному определению Node и NPM.
Результат в командной строки должен выглядеть следующим образом:
$ nvm install v0.10.31
################################################## ################ 100,0%
Теперь оба узла и npm должны быть доступны в терминале:
$ node -v & amp; & amp; & amp; npm -v
v0.10.31
1.4.23
Теперь необходимо настроить запуск Node.JS по умолчанию, команды в терминале:
$ nvm псевдоним default 0.10.31
Мы можем установить другие версии Node, как и прежде, и переключаться между ними с помощью команды nvm, используйте:
$ 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'); // 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 ('адрес:' + 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 ('ошибка:', сообщение);
});
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 + '=> МНЕ: + сообщение);
}).
В предыдущем примере, мы имеем дело с тремя типами событий:
событие подключения создается, когда клиент успешно подключился к IRC-серверу;
событие ошибки, выполняется в случае ошибки;
сообщения и события вечера, выбранные для входящих сообщений.
Вышеупомянутые события делают этот идеальным для использования шаблона EventEmitter.
Шаблон EventEmitter позволяет разработчикам публиковать событие, в котором пользователи могут подписаться, если они в этом заинтересованы. Этот шаблон может быть знакомы с браузером, где он используется, чтобы связать обработчики событий.
Node-это класс EventEmitter в ядре, которое мы можем использовать, чтобы создавать свои собственные объекты EventEmitter. Мы постараемся создать класс MemoryWatcher, который наследует EventEmitter и создает два типа событий:
данных через регулярные интервалы времени, которые представляет использование памяти в байтах;
событие об ошибке, если память превышает определенный предел.
Таким образом, Узел не является веб-сервером, и один из способов создания кода в компьютере. Он представляет собой среду для запуска JavaScript.
Категория: Мобильная техника