Что такое Node.js

Обновлено и опубликовано Опубликовано:

Node.js —
простыми словами

программная платформа, которая позволяет транслировать код JavaScript в машинный код. Написана Райаном Далом на C/C++ (в большей степени) и JavaScript. Первая версия бала выпущена в 2010 году. Основана на движке V8.

Данную платформу можно установить на все популярные операционные системы — Windows, Linux, Mac OS, BSD, Android. Скачать Node.js можно с официального сайта. Для загрузки доступны версии LTS (с длительно поддержкой) и текущая (самая последняя). Список всех версий можно увидеть на странице nodejs.org/dist. В Linux также возможна установка из репозиториев.

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

Как правило, Node.js используется для разработки веб-приложений (бэкендов и API). Он сам может выступать в роли веб-сервера и принимать http-запросы. Пример кода (из википедии):

  1. const http = require('http');
  2. const server = http.createServer((req, res) => {
  3.  
  4.   res.writeHead(200, {
  5.     'Content-Type': 'text/plain; charset=UTF-8'
  6.   });
  7.   res.end('Hello, world!');
  8. });
  9.  
  10. server.listen(3000, '127.0.0.1', () => {
  11.   console.log('Сервер запущен http://127.0.0.1:3000/');
  12. });

* в данном примере будет запущен веб-сервер на локальном хосте, порту 3000. При выполнении запроса к данному серверу мы получим сообщение Hello, world!

Для быстрой разработки на Node.js популярны следующие фреймворки:

  • Express
  • Meteor.js
  • Hapi.js
  • Adonis.js
  • Koa.js

... и другие.

Для установки дополнительных пакетов в составе Node.js есть менеджер npm. Пример поиска пакетов:

> npm search download

* в данном примере будут найдены все пакеты, в названии которых есть слово download.

Для установки пакета с помощью npm используем команду:

> npm install git

* будет выполнена установка пакета git.

Официальная документация представлена на сайте, но на английском языке. На русском можно найти руководства в сети, например, сайте METANIT. Также существует много видеоуроков, статей и книг по Node.js.

Подробнее о Node.js на Википедии.

Встречается в статьях

Инструкции:

  1. Как установить и настроить связку Asterisk + FreePBX на CentOS 8
  2. Установка и настройка кластера Kubernetes на Linux Ubuntu
  3. Как настроить сервер OpenVPN на Windows
  4. Установка и настройка отказоустойчивого кластера Pacemaker
  5. Установка и настройка системы мониторинга Prometheus на Linux
  6. Установка и запуск менеджера управления проектами Taiga на Rocky Linux
  7. Как установить и настроить связку Asterisk + FreePBX на Ubuntu

Мини-инструкции:

  1. Подробная инструкция по настройке OpenVPN клиента
  2. Как настроить кластер гипервизоров Proxmox Virtual Enviroment
  3. Установка и настройка сервера Rocket.Chat на Ubuntu
  4. Как добавить в Grafana источник данных Prometheus и создать график его метрик
  5. Как установить и настроить инструмент жизненного цикла DevOps GitLab на Ubuntu
  6. Как установить Consul Hashicorp на несколько нод CentOS и настоить кластер
  7. Как установить и настроить Consul-агента и зарегистрировать на кластере сервис
  8. Как создать политику SELinux для приложения или процесса
  9. Развертывание веб-сервера на базе NGINX + NodeJS на Linux Ubuntu Server
  10. Мониторинг под ключ с docker — Prometheus + Grafana + Alertmanager
  11. Как установить и выполнить базовую настройку ноды для Ethereum под Linux Ubuntu
  12. Установка и настройка кластера Consul Hashicorp на нескольких нодах Linux Ubuntu
  13. Настройка кластера Docker Swarm из трех нод на систему под управлением Linux

Вопросы и ответы:

  1. Как собрать сведения об оборудовании и системе компьютера на Linux и FreeBSD
Дмитрий Моск
— IT-специалист.
Настройка серверов, компьютерная помощь.

Другие термины

WiFi   QGIS   Root   NTP   Server core   Fetchmail   Интерфейс   Keyran   MAC-адрес   OEM   SpamAssassin   FPS   WPA   STUN   MySQL   PostfixAdmin   ClamAV   Rsync   Redis   Lua  
.....

Реклама