Node.js | |
---|---|
| |
Тип | событийно-ориентированный язык программирования[d] |
Автор | Ryan Lienhart Dahl |
Разработчик | Node.js Developers |
Написана на | C++[1], JavaScript и Си |
Операционная система | macOS, GNU/Linux[d], SmartOS, FreeBSD, Microsoft Windows, AIX и Android[2] |
Первый выпуск | 27 мая 2009[3] |
Последняя версия |
|
Состояние | активное |
Лицензия | лицензия X11[d][5] |
Сайт | nodejs.org |
Node или Node.js — программная платформа, основанная на движке V8 (транслирующем JavaScript в машинный код), превращающая JavaScript из узкоспециализированного языка в язык общего назначения. Node.js добавляет возможность JavaScript взаимодействовать с устройствами ввода-вывода через свой API (написанный на C++), подключать другие внешние библиотеки, написанные на разных языках, обеспечивая вызовы к ним из JavaScript-кода. Node.js применяется преимущественно на сервере, выполняя роль веб-сервера, но есть возможность разрабатывать на Node.js и десктопные оконные приложения (при помощи NW.js, AppJS или Electron для Linux, Windows и macOS) и даже программировать микроконтроллеры (например, tessel и espruino). В основе Node.js лежит событийно-ориентированное и асинхронное (или реактивное) программирование с неблокирующим вводом/выводом.
В 1996 году в компании Netscape были попытки создания серверного JavaScript (Server-side JavaScript — SSJS)[6][7], однако технология не получила распространения.
Node.js разработал Райан Даль (англ. Ryan Dahl) в 2009 году после двух лет экспериментирования над созданием серверных веб-компонентов. В ходе своих исследований он пришёл к выводу, что вместо традиционной модели параллелизма на основе потоков следует обратиться к событийно-ориентированным системам. Эта модель была выбрана из-за простоты, низких накладных расходов (по сравнению с идеологией «один поток на каждое соединение») и быстродействия. Целью Node является предложить «простой способ построения масштабируемых сетевых серверов».
Разработка Node.js спонсируется компанией Joyent .
В декабре 2014 года был создан форк io.js.
В мае 2015 года было принято решение о слиянии io.js и Node.js и дальнейшем развитии под эгидой Node.js Foundation.[8]
8 сентября 2015 года вышел Node.js v4.0.0 как результат слияния Node.js v0.12.7 и io.js v3.3.0.[9][10]
Создание и запуск HTTP-сервера на Node.js, выдающего Hello, world!:
// Загружаем модуль http
const http = require('http');
// Создаем web-сервер с обработчиком запросов
const server = http.createServer((req, res) => {
console.log('Начало обработки запроса');
// Передаем код ответа и http-заголовки
res.writeHead(200, {
'Content-Type': 'text/plain; charset=UTF-8'
});
res.end('Hello world!');
});
// Запускаем web-сервер
server.listen(2002, '127.0.0.1', () => {
console.log('Сервер запущен http://127.0.0.1:2002/');
});
Другой пример скрипта, создающего TCP-сервер, который прослушивает порт 1337 и выводит на экран всё, что вводит пользователь:
const net = require('net');
const server = net.createServer(stream => {
stream.setEncoding('utf8');
stream.write('hello\r\n');
stream.addListener('data', data => {
this.write(data);
});
stream.addListener('end', () => {
this.write('goodbye\r\n');
this.end();
});
});
server.listen(1337, 'localhost');
В состав Node.js входит собственный установщик пакетов npm. Установка производится при помощи команды:
npm install <packagename>
Все доступные для установки пакеты и их краткое описание:
npm search
Этой же командой можно производить выборочный поиск пакетов.
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .