Введение

  • Node.js — это фреймворк с открытым исходным кодом, основанный на JavaScript. Он был разработан Райаном Далем в 2009 году.
  • Он разработан на основе JavaScript V8 Engine Google Chrome.
  • Node.js позволяет запускать JavaScript на машине —
  1. Это позволяет получить доступ к файловой системе на машине
  2. Он прослушивает сетевой трафик на машине
  3. Он может обрабатывать HTTP-запросы, как веб-сервер, и отправлять ответы, включая файлы.
  4. Он может напрямую обращаться к базам данных из JavaScript.
  • Node.js использует управляемую событиями однопоточную неблокирующую модель ввода-вывода, которая очень эффективно использует память.
  • Он использует методологию асинхронного программирования, в которой серверу не нужно ждать завершения первого запроса, чтобы обработать другой запрос.
  • Node.js использует однопоточную модель с зацикливанием событий, поэтому приложения работают неблокирующим образом и обладают высокой масштабируемостью. Благодаря механизму цикла событий один поток может обрабатывать больше запросов по сравнению с существующими серверами, такими как HTTP-сервер, сервер Apache и т. д.

Терминал РЕПЛ –

  • Node.js поставляется в комплекте с терминалом Read-Eval-Print-Loop (REPL), где пользователь может вводить команды на экране, а система отвечает в интерактивном режиме.
  • REPL означает -
  1. Чтение. На этом этапе пользовательский ввод считывается, преобразуется в структуру данных JavaScript и сохраняется в памяти.
  2. Eval: на этом этапе оценивается структура данных JavaScript.
  3. Печать: на этом этапе печатается/отображается результат.
  4. Цикл. На этом этапе пользовательская команда повторяется до тех пор, пока дважды не будет нажата клавиша Ctrl-C.
  • REPL можно запустить, просто запустив node в оболочке Linux или консоли Windows без каких-либо аргументов, как показано ниже:
$ node

Написание приложения Node Js —

  • Другой способ запуска кода js узла — создать файл ‹filename›.js, содержащий код JavaScript, а затем запустить его с помощью команды
node <filename>.js
  • В приложении Node.js требуются следующие три важных шага:
  1. Включите модули в соответствии с требованиями. Это можно сделать с помощью директивы «require».
  2. Создайте сервер для прослушивания запросов клиентов. Это очень похоже на HTTP-сервер Apache.
  3. Запрос/ответ — 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:
  1. http : заставляет Node.js вести себя как HTTP-сервер.
  2. https : заставляет Node.js вести себя как HTTPS-сервер.
  3. fs : обрабатывает файловую систему.
  4. events : Обрабатывает события.
  5. url : анализирует строки URL.
  6. буфер : обрабатывает двоичные данные.
  7. child_process: помогает запустить дочерний процесс.
  8. кластер : разбивает один процесс узла на несколько процессов.
  9. crypto : Обрабатывает криптографические функции OpenSSL.
  10. net : Создает серверы и клиенты.
  11. os : Предоставляет информацию об ОС.
  12. path : Обрабатывает пути к файлам.
  13. readline : обрабатывает читаемые потоки по одной строке за раз.
  14. stream : используется для потоковой передачи данных.
  15. timers : выполнить функцию через заданное количество миллисекунд.
  16. tty : Предоставляет классы, используемые текстовым терминалом.
  17. util : Используется для доступа к служебным функциям.
  18. 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 предоставляет несколько встроенных модулей, также мы можем создавать собственные модули.