Node.js

Как запустить сервер Node.js: простой HTTP-сервер и Express

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

Этот материал закрывает запросы «как запустить сервер node js», «node js как веб сервер», «server node», «сервер node js», «node js создание сервера», «запуск сервера node js» и похожие формулировки. Пользовательский интент здесь практический: человек хочет увидеть живой localhost, а не читать абстрактно про backend

Минимальный сервер без Express

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

mkdir node-server-demo
cd node-server-demo

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

const http = require("http");

const server = http.createServer((request, response) => {
  response.writeHead(200, { "Content-Type": "text/plain; charset=utf-8" });
  response.end("Сервер Node.js работает");
});

server.listen(3000, () => {
  console.log("Сервер запущен: http://localhost:3000");
});

Запустите

node server.js

В терминале должно появиться

Сервер запущен: http://localhost:3000

Теперь откройте в браузере

http://localhost:3000

Если вы видите текст «Сервер Node.js работает», значит сервер поднялся и отвечает на запрос

Почему терминал не возвращает курсор

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

Чтобы остановить сервер, нажмите в терминале

Ctrl + C

После остановки адрес localhost:3000 перестанет отвечать

Что значит localhost

localhost — это ваш собственный компьютер. Когда вы открываете http://localhost:3000, браузер идет не в интернет, а обращается к программе, которая запущена локально на вашей машине

Число 3000 — порт. На одном компьютере может быть много программ-серверов, и порт помогает понять, к какой из них обращаться

Сервер на Express

Для реальных учебных проектов чаще используют Express. Он делает код маршрутов проще и понятнее

Инициализируйте проект и установите Express

npm init -y
npm install express

Замените содержимое server.js

const express = require("express");

const app = express();

app.get("/", (request, response) => {
  response.send("Главная страница работает");
});

app.get("/about", (request, response) => {
  response.send("Это страница о проекте");
});

app.listen(3000, () => {
  console.log("Express-сервер запущен: http://localhost:3000");
});

Запустите

node server.js

Проверьте два адреса

http://localhost:3000
http://localhost:3000/about

Теперь вы видите не просто запуск Node.js, а основу backend-приложения: разные адрес ведут в разные обработчики

Как добавить команду npm start

В package.json можно добавить команду

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

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

npm start

Это удобнее, когда проект растет, потому что команда запуска остается одинаковой, даже если внутренний файл или параметры меняются

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

Добавьте третий маршрут

app.get("/contacts", (request, response) => {
  response.send("Контакты пока пустые");
});

Перезапустите сервер и откройте http://localhost:3000/contacts. Если страница отвечает, вы поняли базовую механику маршрутов

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

Порт уже занят Если терминал пишет, что порт занят, остановите старый сервер через Ctrl + C или поменяйте порт, например на 3001

Изменили код, но браузер показывает старый ответ Обычный node server.js не перезапускает сервер автоматически. Остановите процесс и запустите снова

Открыли файл server.js в браузере Серверный файл не нужно открывать как HTML. Его запускают через терминал, а в браузере открывают адрес localhost

Express не найден Проверьте, что вы выполнили npm install express в той же папке, где лежит server.js и package.json

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

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

Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные

Настройки cookie

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x