Сегодня я расскажу о том, как можно быстро создать очень простой сервер, используя одну из самых популярных сред JS — ExpressJS.

Во-первых, что такое Express?

Express — это сверхлегкий веб-фреймворк, который может помочь вам встроить веб-приложение в структуру MVC на сервере. Вы можете использовать его для обслуживания HTML с кучей разных языков шаблонов или использовать его для создания внутреннего API. Это то, что мы делаем сегодня.

У вас также должна быть возможность подключить ваше приложение Express к базе данных, такой как MongoDB, с использованием такой структуры, как Mongoose, которая упрощает подключение к вашей базе данных, создание схем и выборку данных.

Что мы строим?

Мы создаем очень простой веб-сервер. На данный момент это не очень полезно, но это хорошее начало для ExpressJS. Мы также обсудим разницу между POST и GET.

Давайте приступим!

Во-первых, убедитесь, что на вашем компьютере установлен NodeJS. Сделайте это, выполнив следующую команду в окне терминала:

Если нет, то установите LTS-версию здесь ☝️

Теперь, когда у вас установлен NodeJS, нам нужно инициализировать новый проект NodeJS. Сделайте это, зайдя в свой терминал и перейдя в папку, в которой вы хотите, чтобы проект был и запущен:

На данный момент вы можете отвечать на вопросы или просто нажимать ввод до конца и нажимать y, когда вам будет предложено. Итак, вы сгенерировали файл package.json, и если вы откроете его в своем любимом редакторе кода (я использую VSCode), то увидите что-то вроде этого:

Package.json — это файл, содержащий все метаданные вашего проекта. На данный момент он очень мал, но со временем может стать довольно большим. «Основной» — это файл, который будет запускаться для запуска вашего проекта. Это ваш основной скрипт и обычно он называется index.js, хотя вы можете изменить его на любой другой.

Давайте установим ExpressJs

Мы делаем это, запустив:

Мы пишем «— save», чтобы убедиться, что мы устанавливаем экспресс только для проекта, а не в файловую систему компьютера.
Если все сделано правильно, это должно выглядеть примерно так:

Давайте напишем наши первые строки кода

Создайте файл в корневом каталоге с именем index.js и откройте его. Теперь первые слова, которые вы хотите написать, это:

const express = require('express')
const app = express()

Этот код импортирует экспресс-модуль и инициализирует новый экспресс-объект под названием «приложение». Теперь нам нужно иметь возможность запустить сервер, и мы можем это сделать, набрав:

app.listen(6000, () => {
  console.log('We are live at localhost:6000')
})

6000 — это номер порта по нашему выбору. Мы можем это изменить, если захотим.

Давайте создадим наш первый маршрут. Таким образом, мы можем увидеть, как это работает. Важно, чтобы этот фрагмент кода находился над функцией app.listen(). Мы делаем это, набрав:

app.get('/', (request, response) => {
  response.send('Hello World')
})

Теперь давайте запустим наш сервер и посмотрим, как он работает. Сделайте это, введя приведенную ниже команду в окне терминала. Важно, чтобы вы находились в каталоге, в котором находится ваш проект:

Если все сделано правильно, вы должны увидеть что-то вроде этого:

И если вы перейдете к «localhost: 1337», вы должны увидеть это:

Разница между GET и POST

В этом руководстве мы использовали только запрос GET. Двигаясь вперед в некоторых из следующих сообщений в блоге, мы также будем использовать запрос POST.

Разницу можно объяснить довольно просто.

Когда вы запрашиваете данные у сервера, это GET-запрос. Например, при получении всех сообщений от пользователя в любой социальной сети.

Когда вы отправляете данные на сервер, это POST-запрос. Это полезно при входе в систему или отправке нового сообщения в блоге на веб-сайт.

Вот и все!

Поздравляем! Вы только что создали свой собственный и первый веб-сервер! Теперь я знаю, что на самом деле это еще не так уж полезно, но вы опустили палец, и теперь мы готовы перейти к более крупным проектам. Двигаясь дальше, мы создадим простой API для отдыха, автоматический cron, вход в систему и многое другое.

Оставайтесь с нами, подписавшись на меня в Твиттере. Если у вас есть какие-либо комментарии, отзывы или, может быть, идея для урока, который вы хотите увидеть, напишите мне, и я с удовольствием поговорю с вами ☝️ Я буду публиковать новую запись в блоге каждый понедельник.

Любая любовь в виде аплодисментов или комментариев к этому сообщению в блоге, чтобы мы могли распространить информацию, будет очень признательна 😁

Если вы хотите увидеть больше моих уроков, то идите сюда ☝️

Как всегда, спасибо за чтение, и не забывайте продолжать писать код 💙

Всего наилучшего,

Йонас А.