Как построить базовый веб-сервер в Node.js
Программирование

Как построить базовый веб-сервер в Node.js

Вы – фронтенд-разработчик JavaScript, стремящийся стать full-stack? Позвольте Node.js построить ваш бэкенд

Node.js стал одним из самых популярных вариантов разработки на стороне сервера с момента его первоначального выпуска более десяти лет назад. Хотя он все еще относительно новый по сравнению с PHP и другими технологиями бэкенда, его широко используют такие технологические гиганты, как LinkedIn, PayPal, Netflix и другие

В этой статье вы узнаете, как можно создать и запустить собственный веб-сервер с помощью Node.js и веб-фреймворка Express.js

Используемые технологии и пакеты

Node.js – это среда выполнения JavaScript, построенная на движке V8 в Chrome, которая позволяет выполнять код JavaScript вне браузера. Традиционно язык программирования JavaScript используется для манипулирования объектной моделью документа (DOM), добавляя интерактивность веб-сайтам

Из-за этого код JavaScript был ограничен возможностью выполнения исключительно в браузере, поскольку DOM существует только на веб-страницах. С Node.js вы можете запускать JavaScript в командной строке и на серверах. Поэтому перед началом работы необходимо установить Node.js и npm на свою машину

С другой стороны, Express.js – это минималистичный веб-фреймворк, который стал де-факто бэкенд-фреймворком для Node.js. Однако Express.js не является необходимостью. Вы по-прежнему можете использовать встроенный модуль http Node.js для создания своего сервера.Express.js построен поверх модуля http и предоставляет более простой API со всеми необходимыми конфигурациями

Создание веб-сервера

Чтобы лучше организовать свой код, вы можете начать с создания папки, в которой будут находиться все файлы и зависимости. Поскольку Express.js не является встроенным модулем Node.js, вам придется установить его с помощью npm

Подробнее: Что такое npm?

Чтобы установить пакет Express.js, выполните команду npm install express в терминале или командной строке. Перед установкой убедитесь, что вы находитесь в директории проекта

После завершения работы вы можете открыть папку с помощью текстового редактора или IDE по вашему выбору и создать новый файл с именем server.js. Чтобы использовать пакет Express.js, вы должны сначала импортировать и создать его экземпляр внутри файла server.js следующим образом:

constexpress =require'express');
constapp = express();

Основная задача веб-сервера – отвечать на запросы, поступающие с различных маршрутов, с помощью соответствующей функции-обработчика. Этот код обрабатывает все GET-запросы, сделанные к корневому ( ‘/’ ) пути, и отвечает ‘Hello World!’

app.get('/', (req, res) => {
    res.send('<h1>Hello World</h1>');
});

Аналогичным образом можно отображать динамическое содержимое и выполнять другие операции в зависимости от пути и типа запроса. Это можно сделать с помощью параметров маршрута, обозначаемых точкой с запятой : перед параметром

app.get('/:name', (req, res) => {
    res.send(`<h1>Welcome to${req.params.name}!</h1>`);
};

В обоих приведенных выше примерах первая строка представляет собой использование метода .get() в Express.js, который принимает 2 параметра: конечную точку или маршрут и функцию-обработчик обратного вызова, которая принимает в качестве параметров объекты запроса и ответа. Эти 2 параметра автоматически отправляются при выполнении запроса

Во второй строке ответ осуществляется через метод .send() на объекте response. Внутри круглых скобок можно ввести любой текст или HTML, который вы хотите. В случае динамических маршрутов обращение к req.params.name (поскольку вы использовали /:name ) объекта запроса вернет значение параметра динамического маршрута ( name в данном случае.)

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

app.listen(5000console.log('Server is running on port 5000'));

В примере я использовал порт 5000, но вы можете изменить его на любой допустимый порт. Это весь код, необходимый для создания базового веб-сервера с помощью Node.js и Express.js. Эта же концепция может быть расширена для выполнения других запросов, таких как POST , PUT или DELETE к другим маршрутам. Вот как будет выглядеть файл server.js :

Тестируем сервер

Чтобы выполнить код и запустить сервер, выполните команду node server в терминале или командной строке в каталоге проекта. Это приведет к выполнению функции обратного вызова, которую вы предоставили в методе .listen()

Чтобы убедиться, что сервер работает, откройте веб-браузер и посетите сайт http://localhost:5000

Аналогично, если вы посетите динамический маршрут, например http://localhost:5000/muo , будет запущена вторая функция обработчика и отображена:

Чтобы остановить сервер, нажмите Ctrl + C в Windows или Cmd + C в macOS

Node.js может больше

Популярность JavaScript резко возрастает, поскольку разработчики используют его как на фронтенде, так и на бэкенде. Это избавляет от необходимости изучать несколько языков программирования и помогает вам начать свой путь веб-разработчика полного цикла, используя только JavaScript

Если вы решите, что лучше попробовать язык программирования Google, то создание базового веб-сервера – отличный стартовый проект

Об авторе

Алексей Белоусов

Привет, меня зовут Филипп. Я фрилансер энтузиаст . В свободное время занимаюсь переводом статей и пишу о потребительских технологиях для широкого круга изданий , не переставая питать большую страсть ко всему мобильному =)

Комментировать

Оставить комментарий