Node.js: различия между версиями

Материал из support.qbpro.ru
 
(не показано 5 промежуточных версий этого же участника)
Строка 12: Строка 12:
==УСТАНОВКА И IDE==
==УСТАНОВКА И IDE==
* [[Установка node.js в Debian]]
* [[Установка node.js в Debian]]
* [https://vscode-docs.readthedocs.io/en/latest/runtimes/nodejs/ Node.js Applications with VS Code]
* [https://github.com/microsoft/vscode-docs/blob/main/docs/nodejs/nodejs-tutorial.md vscode-docs]
* [https://translated.turbopages.org/proxy_u/en-ru.ru.dad9deda-66a13eb8-24112291-74722d776562/https/www.freecodecamp.org/news/how-to-get-started-debugging-nodejs-applications-with-ndb-a37e8747dbba How to get started debugging NodeJS applications with ndb]
* [https://translated.turbopages.org/proxy_u/en-ru.ru.dad9deda-66a13eb8-24112291-74722d776562/https/www.freecodecamp.org/news/how-to-get-started-debugging-nodejs-applications-with-ndb-a37e8747dbba How to get started debugging NodeJS applications with ndb]
* [https://nodejs.org/api/debugger.html Debugger]
* [https://nodejs.org/api/debugger.html Debugger]
Строка 29: Строка 31:
* [[Node.js debian init.script]]
* [[Node.js debian init.script]]
* [[Daemon init script for node.js based app/server (DEBIAN/UBUNTU)]]
* [[Daemon init script for node.js based app/server (DEBIAN/UBUNTU)]]
* [https://www.codementor.io/@codementorteam/how-to-use-json-files-in-node-js-85hndqt32 How to Use JSON files in Node.js]
* [[Nodejs - Использование MD5]]
* [[Получить MAC-адрес текущего компьютера с node.js]]
* [https://stackoverflow.com/questions/5878682/node-js-hash-string node.js hash string?]
* [https://habr.com/post/217901/ Node.js, Require и Exports]


==ПОЛЕЗНЫЕ СТАТЬИ==
==ПОЛЕЗНЫЕ СТАТЬИ==

Текущая версия от 21:37, 24 июля 2024

ВВЕДЕНИЕ

Node.js представляет среду выполнения кода на JavaScript, которая построена на основе движка JavaScript Chrome V8, который позволяет транслировать вызовы на языке JavaScript в машинный код. Node.js прежде всего предназначен для создания серверных приложений на языке JavaScript. Хотя также существуют проекты по написанию десктопных приложений (Electron) и даже по созданию кода для микроконтроллеров. Но прежде всего мы говорим о Node.js, как о платформе для создания веб-приложений.
Особенностью Node.js является то, что Node.js использует один (основной) поток, который получает все запросы и управляет ими через очередь запросов (таким образом, Node.js является однопоточным сервером). Внутри этого потока выполняется так называемый цикл событий (event loop), который представляет собой цикл, который непрерывно проверяет запросы из очереди событий и обрабатывает события ввода и вывода.
Если пользователь отправляет запрос на сервер Node.js, в цикле событий выполняется проверка, чтобы определить, требует ли следующий запрос блокирующей операции ввода или вывода (например, обращение к базе данных или файловой системе). Если нет, то запрос обрабатывается напрямую, и пользователю отправляется результат обработки.
Если же запрос требует блокирующей операции ввода/вывода, для выполнения этой операции запускается один из нескольких внутренних обработчиков Node.js (потоков). В обработчики передается функция обратного вызова, которая, в свою очередь, вызывается, как только будет выполнена блокирующая операция ввода/вывода.
При этом основной поток не останавливается во время блокирующих операций ввода/вывода: цикл событий постоянно совершает свои обходы, проверяет новые запросы и так далее. Благодаря этой архитектуре Node.js предотвращает создание все большего количества потоков и чрезмерного использования памяти.
Платформу разработал Райан Даль, программист из Америки, в 2009 году. До появления Node.js приложения, которые написаны на языке программирования JavaScript, можно было запускать только в браузере. С появлением платформы стало возможно писать на JavaScript не только в браузере, но и на сервере.
Node.js является открытым проектом, исходники которого можно посмотреть на github.com.

АРХИТЕКТУРА

Node.js работает на движке V8, транслирующем JavaScript в машинный код. Простыми словами, Node.js — это приложение на C++, которое получает на входе код JavaScript и выполняет его. Чтобы взаимодействовать с устройствами ввода-вывода на компьютере, в платформе предусмотрен собственный интерфейс на C++. Таким образом, платформа превращает специализированный скриптовый язык JavaScript в язык общего назначения, поэтому на Node.js можно писать любые компьютерные программы. Платформа позволяет пользоваться единым языком JavaScript для написания кода и на стороне клиента (Frontend), и на сервере (Backend). Эти возможности Node.js важны для разработки приложений реального времени, которые основаны на событиях.

УСТАНОВКА И IDE

ПРИМЕРЫ КОДА

ПОЛЕЗНЫЕ СТАТЬИ

БИБЛИОТЕКА

OnLine БИБЛИОТЕКА

ИСТОЧНИКИ