HTML / CSSJavaScriptNode jsПаттерны проектированияПрактические

Что такое Node.js?

Node.js представляет среду выполнения кода на JavaScript, которая построена на основе движка JavaScript Chrome V8, который позволяет транслировать вызовы на языке JavaScript в машинный код. Node.js прежде всего предназначен для создания серверных приложений на языке JavaScript.

Установка

Для загрузки перейдет на официальный сайт. На главной странице мы сразу увидим две возможные опции для загрузки: самая последняя версия NodeJS и LTS-версия.

Загрузим последнюю версию и откроем программу установщика. После успешной установки введите в командной строке/терминале команду:

1node -v

Должно отобразится текущая версия node.js.

REPL

После установки NodeJS нам становится доступным такой инструмент как REPL. REPL (Read Eval Print Loop) представляет возможность запуска выражений на языке JavaScript в командной строке или терминале.

Так, запустим командную строку (на Windows) или терминал (на OS X или Linux) и введем команду node. После ввода этой команды мы можем выполнять различные выражения на JavaScript:

1node
2#Введите выражение
32+6
4#>8
5
6function square(x){return x * x;}
7
8square(5)
9# output 25

Выполнение файла

Вместо того чтобы вводить весь код напрямую в консоль, удобнее вынести его во внешний файл. Например, создадим на жестком диске новый каталог, допустим, /projects/node-app, в который поместим новый файл app.js со следующим кодом:

1console.log('Hello new node js app')

В командной строке перейдем с помощью команды cd к каталогу node-app, а затем выполним команду:

1node app.js
2
3# output
4# Hello new node js app

Web server на Node.js

Создадим простой веб сервер на NodeJS. Для создания приложений можно использовать практически все стандартные конструкции языка JavaScript.

❗️Важно

Tак как приложение будет запускаться на сервере, а не в браузере, DOM и такие объекты как window или document в данном случае нам будут недоступны.

Для этого вначале создадим для приложения каталог на жестком диске. К примеру, в том каталоге, что мы создали ранее /projects/node-app в файле app.js

1const http = require("http");
2http.createServer(function(request,response){
3 response.end("Hello NodeJS!");
4
5}).listen(3000, "127.0.0.1",function(){
6 console.log("Сервер начал прослушивание запросов на порту 3000");
7});

Разберем то что мы сделали выше:

На первой строке мы получаем модуль http, который необходим для создания сервера. Это встроенный модуль, и для его загрузки необходимо применить функцию require():

1const http = require("http");

Далее с помощью метода createServer() создается новый сервер для прослушивания входящих подключений и обработки запросов. В качестве параметра этот метод принимает функцию, которая имеет два параметра. Первый параметр request хранит всю информацию о запросе, а второй параметр response используется для отправки ответа. В данном случае ответ представляет простую строку "Hello NodeJS!" и отправляется с помощью метода response.end().

Метод http.createServer() только создает сервер.

Чтобы сервер начал прослушивать входящие подключения у него надо вызвать метод listen:

1.listen(3000, function () {
2 console.log("Сервер начал прослушивание запросов на порту 3000");
3 });

Этот метод принимает два параметра.

  • Первый параметр указывает на локальный порт, по которому запускается сервер.
  • Второй параметр представляет функцию, которая запускается при начале прослушивания подключений. Здесь эта функция просто выводит диагностическое сообщение на консоль.

Для того что бы запустить сервер нам необходимо перейти в директорию с проектом и выполнить следующую команду:

1node app.js
2
3# output > Сервер начал прослушивание запросов на порту 3000

Далее откроем браузер по адресу http://localhost:3000 И нам отобразится то сообщение, которое было послано в методе response.end().

Original source
Hello