Введение в node JS
NodeJS — это среда разработки для JavaScript, устанавливаемая на компьютер. Основой для выполнения команд JavaScript в NodeJS выступает движок V8, который также встроен в браузер Google Chrome и другие.
Команды введенные на JavaScript транслируется средой NodeJS в байт-код, а затем выполняются процессором. Ввиду того, что за выполнение команд отвечает лишь консоль NodeJS, работающая на V8, а не браузер, то нет возможности использоваться DOM и BOM. Соответственно, объект Window и сопутствующие Document, Element и другие отсутствуют, а для программирования доступно лишь ядро JavaScript.
Чаще всего NodeJS применяют для серверного вэб-програмирования. Среда разработки поддерживает работу с базами данных SQL и MongoDB. Для создания серверных приложений созданы специальные модули http, ftp и другие. В целом, для платформы NodeJS создано большое количество модулей для упрощения web-разработки и создания десктопных приложений на JavaScript.
Модульная система
Вся встроенная функциональность разделена на отдельные модули, которые предоставляют разработчикам нужный функционал для определенных областей разработки. В NodeJS огромное количество модулей. Также можно создавать свои. Благодаря этому, всемирное сообщество разработчиков постоянно дополняют NodeJS новыми модулями.
Модуль представляет собой блок кода на JavaScript, который отвечает за определенную функциональность. Для того, чтобы ознакомиться с имеющимися модулями нужно перейти на сайт документации https://nodejs.org/. Здесь же можно ознакомиться и с функциональностью всех предоставленных модулей.
Загрузка и установка NodeJS
Официальный сайт NodeJS находится по адресу https://nodejs.org/en/. NodeJS — опенсорс проект, исходный код которого можно посмотреть в репозитории на github.com.
Порядок скачивания и установки:
- Перейти на официальный сайт.
- Загрузить LTS (рекомендуется) или самую последнюю версию (для Windows файл msi).
- Запустить установщик и выбрать путь установки.
- По умолчанию некоторые компоненты будут установлены в папку system32 на диске C.
- Для проверки корректности установки следует открыть cmd с директорией по умолчанию «C:\WINDOWS\system32».
- Ввести команду «node -v» — если NodeJS установлено корректно, то на экране командной строки отобразится его версия.
Что входит в инструменты разработки
Для использования NodeJS понадобится как минимум 2 инструмента: REPL и текстовый редактор.
REPL
Сама по себе среда разработки NodeJS именуется как REPL (Read Eval Print Loop) — запустив Node.exe можно увидеть простую консоль, которая запрашивает ввод команды на JavaScript. Эта консоль служит для того, чтобы выполнять код JavaScript, она же и разработана на основе движка V8. Чаще всего, для работы с консолью используют командную строку операционной системы и подключаются к REPL через нее.
Текстовый редактор
Можно использовать любой текстовый редактор: Notepad++, Notepad стандартный SublimeText, Atom, VSCode и другими редакторами кода. Главное то, чтобы редактор мог сохранять файлы в формате «.js».
Работа с REPL
Запустить NodeJS (REPL) можно перейдя в папку с установленной программой и запустив исполнительный файл Node.exe. В открывшимся окне можно вводить команды JavaScript: переменные, функции циклы, объявлять конструкторы, создавать объекты и делать все, что предусматривает ядро JavaScript.
Бессмысленно обращаться к объекту Window и его наследникам, так как код выполняет консоль, а не браузер. Но здесь доступны прототипы Object, String, Number, Math, Array и другие. Для того, чтобы вывести в консоль информацию, необходимо пользоваться функцией console.log(), не в коем случае не document.write(). После ввода каждой команды нужно нажать Enter.
Запуск REPL при помощи cmd
Cmd дает больше функциональности для работы с REPL. Она позволяет управлять директориями проектов, загружать модули и управлять другим функционалам. Сама же REPL является только исполнительной средой.
Чтобы запустить REPL, необходимо открыть cmd, где отобразится «C:\WINDOWS\system32». Рядом нужно написать «node» и нажать Enter. На следующей строчке появится знак «>», который указывает на возможность ввода команды JavaScript. Команда «node» запускает REPL, далее режим работы с cmd переводится в формат REPL.
Пример:
C:\WINDOWS\system32>node //запускаем REPL
>function x(){return 5+5} // пишем простую функцию на JavaScript
>console.log(x()); вызываем результат функции в консоль
10 // вывелся результат функции
> // REPL по прежнему ожидает ввода следующей команды
Запуск файла с кодом с помощью cmd
REPL также может выполнять файлы с кодом в формате «.js». Для этого этот файл нужно указать в cmd. Для примера создадим файл code.js и впишем в него код «function x(){return 5+5} console.log(x());» Сохраним этот файл в директорию D:\programs\NodeJSModulus
Пример:
// Откроем командную строку и введем
C:\WINDOWS\system32>D: // переходим в диск D
D:> cd programs // переходим в папку «programs»
D:\programs> cd NodeJSModulus //далее в следующую папку
D:\programs\NodeJSModulus> node code.js // запускаем REPL и передаем ему файл code.js
10 // выведется результат вызова функции
>
Подключение и использования модулей
Зачем нам писать непонятный код в консоли, если от него нет попросту никакого смысла. NodeJS чаще всего используется для подключения модулей с готовым кодом, которые расширяют возможности вэб-разработчиков. К примеру модуль http дает программисту возможность сделать из компьютера сервер, а браузер может отправлять запросы и получать ответы на нужный порт. Для того чтобы подключить модуль, используется команда require(moduleName).
После установи NodeJS, в папку с файлами копируются и все основные модули. Программисту остается только подключить нужный модуль. Для примера создадим файл http.js, сохраним его на диске D и запишем в него код из примера ниже.
Пример: Подключение модуля «http»
//Кода файла http.js
var http_protocol = require(«http»); // сохраняем объект модуля в переменную
http_protocol.createServer(function(request,response){ // метод из модуля, который открывает возможность получать браузеру запросы и отправлять ответыresponse.end(«Hello World!»);
}).listen(3000, «127.0.0.1»,function(){
console.log(«Сервер начал работу»);
});//Запускаем этот файл в REPL
D:\node http.js
// Выведется сообщение «Сервер начал работу»
Теперь нужно открыть браузер и ввести в поисковом поле localhost:3000. На экране бразера отобразится надпись Hello World!
Итог
Конструкция «var x = require(moduleName)» создает объект модуля, имя которого указано в параметре конструктора require(). Далее через переменную можно обращаться к функционалу модуля. Делать это можно как в файле, так и вводом команд непосредственно в REPL.