Как создать простейший HTTP-сайт на Node.js и Express

Короткий ответ: создайте папку проекта, установите Express, напишите файл server.js, запустите node server.js и откройте http://localhost:3000. Если в браузере появился текст страницы, у вас уже работает минимальный сайт на Node.js

Запрос «как создать простейший http сайт node.js express» обычно задает человек, который слышал, что Node.js подходит для backend-а, но пока не понимает, где начинается сайт: с HTML-файла, с сервера, с маршрута или с команды npm. В Express сайт начинается с приложения, которое слушает порт и отвечает на HTTP-запросы

Создайте папку проекта

mkdir express-simple-site
cd express-simple-site
npm init -y

После npm init -y появится package.json. Он нужен, чтобы проект понимал свои зависимости и команды запуска

Установите Express

npm install express

Express попадет в dependencies, а в папке появится node_modules. Эту папку не нужно редактировать руками: npm скачал туда код пакетов

Напишите минимальный сервер

Создайте файл server.js

const express = require("express");

const app = express();
const port = 3000;

app.get("/", (request, response) => {
  response.send("<h1>Мой первый сайт на Express</h1><p>Сервер работает</p>");
});

app.listen(port, () => {
  console.log(`Сайт открыт: http://localhost:${port}`);
});

Запустите

node server.js

Откройте в браузере

http://localhost:3000

Если видите заголовок и текст, Express получил запрос браузера и отправил HTML-ответ

Добавьте вторую страницу

В Express страница обычно начинается с маршрута. Добавьте ниже первого app.get

app.get("/about", (request, response) => {
  response.send("<h1>О проекте</h1><p>Это учебная страница</p>");
});

Перезапустите сервер и откройте

http://localhost:3000/about

Теперь у сайта две страницы: главная / и страница /about

Почему сервер нужно перезапускать

Обычный запуск через node server.js не отслеживает изменения файлов. Если вы поменяли код, остановите сервер через Ctrl + C и запустите снова

Для удобства в обучении можно позже подключить nodemon, но в первом уроке полезно вручную почувствовать механику: код изменили, сервер перезапустили, браузер обновили

Добавьте команду npm start

В package.json добавьте скрипт

{
  "scripts": {
    "start": "node server.js"
  }
}

Теперь запускать сайт можно так

npm start

Это привычный формат для Node.js-проектов: пользователь проекта не обязан знать внутреннее имя файла, он запускает стандартную команду

Мини-практика

Создайте третью страницу /contacts и выведите на ней простой HTML. Затем поменяйте порт с 3000 на 3001, перезапустите сервер и проверьте новый адрес

Так вы закрепите две важные вещи: маршрут отвечает за адрес, а порт отвечает за адрес локального сервера

Частые ошибки

Cannot find module express Express не установлен в этой папке. Выполните npm install express в корне проекта

Браузер не открывает localhost Проверьте, запущен ли сервер и не остановили ли вы терминал. Пока процесс не запущен, сайт не отвечает

Порт уже занят Другой сервер уже использует 3000. Поменяйте порт или остановите старый процесс

Открыли server.js как файл в браузере Express-сайт открывается через localhost, а не через двойной клик по server.js

Что почитать дальше по Node.js

Если нужен общий маршрут по теме, откройте рубрику Node.js. Для соседних задач пригодятся эти разборы:

Оцените статью
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x