skip to main content

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

js

Кратко 🔗

Node.js — это способ запускать JavaScript-код не только в браузере. Приложения, которые чаще всего создаются на этой платформе, можно разделить на две категории:

Как пользоваться 🔗

Установите Node.js на свой компьютер. Теперь в терминале можно выполнить команду, которая выведет текущую версию платформы и докажет, что все установлено корректно:

node -v

Node.js позволяет исполнить любой JavaScript-файл. Создадим демо-файл script.js:

const whereIAm = __dirname
// __dirname — глобальная перменная, хранящая папку, в которой лежит файл скрипта

console.log(`I am at ${whereIAm}`)

Запустим его в терминале:

node script.js

Как понять 🔗

За выполнение JavaScript в браузере Google Chrome (и других браузерах основанных на Chromium — Edge, Яндекс.Браузер, Opera) отвечает, разработанный в Google, движок V8. В 2009 году Райан Даль, в качестве эксперимента, создал платформу Node.js, которая использует V8 для выполнения JavaScript-кода вне браузера.

В среде Node.js у приложения нет доступа к стандартным браузерным API. Например, document и window недоступны, потому что код исполняется вне браузера. Никаких документов и окон в его контексте не существует.

Абсолютное большинство инструментов для JavaScript-разработки использует Node.js. Многие серверные приложения тоже используют её, в основном при серверном рендеринге клиентских приложений и создании API-гейтвеев.

API-гейтвей — сервис с удобным клиенту API, который сам не выполняет никакой работы, а только вызывает другие сервисы, чтобы получить данные или совершить операцию. Ценность таких сервисов в удобном для клиентского кода API.

Например, можно сделать простое приложение на Node.js, которое отвечает на все запросы одинаковым текстом. В первую очередь, для этого потребуется сторонний npm-пакет:

npm init // инициализируем package.json
npm install express // добавим пакет для создания веб-приложений

Теперь нужно создать файл с кодом приложения, назовём его server.js:

// express — фреймворк для создания веб-приложений
const express = require("express")

// создаем express-приложение
const app = express()
// оно будет слушать определенный порт на компьютере
const port = 3000

// если отправить GET-запрос на /, то получим ответ "Hello World!"
app.get("/", (req, res) => {
res.send("Hello World!")
})

// запускаем приложние
app.listen(port, () => {
console.log(`Приложение запущено на http://localhost:${port}`)
})

Все готово к запуску! Исполним файл командой:

node server.js

Если в браузере перейти на http://localhost:3000, то можно увидеть ответ веб-сервера.

В работе 🔗

Часто система сборки проекта требует очень специфичной версии Node.js. Например, проект может собираться только на 10 версии. Чтобы не переустанавливать платформу каждый раз при смене проекта, был создан nvmNode Version Manager. Это небольшая консольная программа, которая позволяет легко выбирать версию Node.js и произвольно менять её.

С помощью nvm можно установить любую версию, просто выполнив команду:

nvm install 10.10.0

И изменить используемую версию в любой момент времени с помощью команды:

nvm 8.9.1