Введение
- Node.js — это фреймворк с открытым исходным кодом, основанный на JavaScript. Он был разработан Райаном Далем в 2009 году.
- Он разработан на основе JavaScript V8 Engine Google Chrome.
- Node.js позволяет запускать JavaScript на машине —
- Это позволяет получить доступ к файловой системе на машине
- Он прослушивает сетевой трафик на машине
- Он может обрабатывать HTTP-запросы, как веб-сервер, и отправлять ответы, включая файлы.
- Он может напрямую обращаться к базам данных из JavaScript.
- Node.js использует управляемую событиями однопоточную неблокирующую модель ввода-вывода, которая очень эффективно использует память.
- Он использует методологию асинхронного программирования, в которой серверу не нужно ждать завершения первого запроса, чтобы обработать другой запрос.
- Node.js использует однопоточную модель с зацикливанием событий, поэтому приложения работают неблокирующим образом и обладают высокой масштабируемостью. Благодаря механизму цикла событий один поток может обрабатывать больше запросов по сравнению с существующими серверами, такими как HTTP-сервер, сервер Apache и т. д.
Терминал РЕПЛ –
- Node.js поставляется в комплекте с терминалом Read-Eval-Print-Loop (REPL), где пользователь может вводить команды на экране, а система отвечает в интерактивном режиме.
- REPL означает -
- Чтение. На этом этапе пользовательский ввод считывается, преобразуется в структуру данных JavaScript и сохраняется в памяти.
- Eval: на этом этапе оценивается структура данных JavaScript.
- Печать: на этом этапе печатается/отображается результат.
- Цикл. На этом этапе пользовательская команда повторяется до тех пор, пока дважды не будет нажата клавиша Ctrl-C.
- REPL можно запустить, просто запустив node в оболочке Linux или консоли Windows без каких-либо аргументов, как показано ниже:
$ node
Написание приложения Node Js —
- Другой способ запуска кода js узла — создать файл ‹filename›.js, содержащий код JavaScript, а затем запустить его с помощью команды
node <filename>.js
- В приложении Node.js требуются следующие три важных шага:
- Включите модули в соответствии с требованиями. Это можно сделать с помощью директивы «require».
- Создайте сервер для прослушивания запросов клиентов. Это очень похоже на HTTP-сервер Apache.
- Запрос/ответ — HTTP-сервер прочитает запрос, сделанный со стороны клиента (браузера или консоли), и вернет ответ.
var http = require(‘http’);
http.createServer(function (req, res) {
res.writeHead(200, {‘Content-Type’: ‘text/ html’});
res.end(‘Hello World!’);
}).listen(8080);
Модули
- Модуль в Node.js содержит функции, которые можно включить в код.
- Функциональность модулей может быть организована в одном или нескольких файлах JavaScript. Цель состоит в том, чтобы повторно использовать функциональность в разных областях приложения Node.js.
Встроенные модули Node.js
- Node.js предоставляет набор встроенных модулей, которые можно использовать непосредственно для достижения определенных функций.
- Ниже приведен список некоторых встроенных модулей Node.js:
- http : заставляет Node.js вести себя как HTTP-сервер.
- https : заставляет Node.js вести себя как HTTPS-сервер.
- fs : обрабатывает файловую систему.
- events : Обрабатывает события.
- url : анализирует строки URL.
- буфер : обрабатывает двоичные данные.
- child_process: помогает запустить дочерний процесс.
- кластер : разбивает один процесс узла на несколько процессов.
- crypto : Обрабатывает криптографические функции OpenSSL.
- net : Создает серверы и клиенты.
- os : Предоставляет информацию об ОС.
- path : Обрабатывает пути к файлам.
- readline : обрабатывает читаемые потоки по одной строке за раз.
- stream : используется для потоковой передачи данных.
- timers : выполнить функцию через заданное количество миллисекунд.
- tty : Предоставляет классы, используемые текстовым терминалом.
- util : Используется для доступа к служебным функциям.
- zlib: используется для сжатия или распаковки файлов.
Создание пользовательского модуля
- Чтобы создать собственный модуль, например, для отображения текущей даты и времени, создайте файл JavaScript и добавьте в него приведенный ниже код.
exports.myDateTime = function () {
return Date();
};
- Ключевое слово exports используется для предоставления доступа к свойствам и методам за пределами файла модуля. Сохраните вышеуказанный файл как «myfirstmodule.js».
- Теперь создайте еще один файл JavaScript с именем «usingfirstmodule.js», чтобы использовать пользовательский модуль. Добавьте приведенный ниже код в файл.
var http = require('http');
var dt = require('./myfirstmodule');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/ html'}); res.write("The date and time are currently: " + dt.myDateTime()); res.end();
}).listen(8080);
- В коде функция require() используется для указания пути к пользовательскому модулю. Обратите внимание, что для поиска модуля используется «./». Это указывает на то, что модуль находится в той же папке, что и файл Node.js.
Заключение
- Node.js — это фреймворк с открытым исходным кодом, основанный на JavaScript. Это позволяет запускать JavaScript на машине.
- Мы можем выполнять команды узла, используя терминал REPL.
- Мы можем создать приложение node.js, написав код в файле с расширением .js.
- Модуль в Node.js содержит функции, которые можно включить в код.
- Node.js предоставляет несколько встроенных модулей, также мы можем создавать собственные модули.