Создание первого приложения на Node.js
В традиционной разработке на PHP требуется HTTP-сервер, такой как Apache или Nginx, и необходимо настроить mod_php или php-cgi для обработки PHP-скриптов, тем самым создавая динамический контент. Иными словами, PHP зависит от внешнего HTTP-сервера для получения запросов и обслуживания веб-страниц.
Сам Node.js имеет встроенный модуль HTTP-сервера. Это означает, что при разработке на Node.js разработчики могут напрямую использовать HTTP-модуль Node.js для создания сервера, обработки HTTP-запросов и генерации веб-страниц. Таким образом, в Node.js логика веб-приложения и реализация HTTP-сервера тесно интегрированы, и разработчикам не нужно полагаться на внешнее программное обеспечение HTTP-сервера.
Прежде чем создавать наше первое приложение Node.js «Hello, World!», давайте сначала разберёмся, из каких частей состоит приложение Node.js:
директива require: В Node.js директива require используется для загрузки и импорта модулей. Импортируемые модули могут быть встроенными модулями, сторонними модулями или пользовательскими модулями.
Создание сервера:Сервер может прослушивать клиентские запросы, подобно HTTP-серверам, таким как Apache и Nginx.
Получение запросов и ответ на запросыСервер очень легко создать. Клиенты могут отправлять HTTP-запросы с помощью браузера или терминала, и после получения запроса сервер возвращает данные ответа.
Создание приложения Node.js
Шаг 1: Используйте директиву require для загрузки и импорта модулей
Синтаксис выглядит так:
const module = require('module-name');
Здесь module-name может быть путём к файлу (относительным или абсолютным) или именем модуля. Если это имя модуля, Node.js автоматически найдёт модуль в каталоге node_modules.
Директива require возвращает экспортированный объект загруженного модуля, через который можно получить доступ к свойствам и методам, определённым в модуле. Если модуль имеет несколько экспортированных объектов, можно использовать деструктурирующее присваивание, чтобы получить их.
Мы используемrequireдирективу для загрузки модуля http и присваиваем созданный экземпляр HTTP переменной http, как показано в примере ниже:
var http = require("http");
Шаг 2: Создайте сервер
Далее мы используем метод http.createServer() для создания сервера и метод listen для привязки к порту 8888. Функция получает данные и отвечает на них через параметры request и response.
Вот пример. Создайте файл с именем server.js в корневом каталоге вашего проекта и напишите следующий код:
Пример
http.createServer(function (request, response) {
// Отправить HTTP-заголовок
// Значение статуса HTTP: 200 : OK
// Тип содержимого: text/plain
response.writeHead(200, {'Content-Type': 'text/plain'});
// Отправить данные ответа "Hello World"
response.end('Hello World\n');
}).listen(8888);
// Терминал выводит следующую информацию
console.log('Server running at http://127.0.0.1:8888/');
С помощью приведённого выше кода мы завершили создание работающего HTTP-сервера.
Используйтеnode-команду, чтобы выполнить приведённый выше код:
node server.js Server running at http://127.0.0.1:8888/

Затем откройте браузер и перейдите по адресу http://127.0.0.1:8888/. Вы увидите веб-страницу с "Hello World".

Разберём HTTP-сервер Node.js:
const http = require('http');: Импортировать встроенный модуль Node.jshttpмодуль.http.createServer((req, res) => { ... });: Создать новый HTTP-сервер, который выполняет функцию обратного вызова при каждом запросе.res.writeHead(200, { 'Content-Type': 'text/plain' });: Установить код состояния ответа и тип содержимого.res.end('Hello World\n');: Завершить ответ и отправить данные.server.listen(PORT, () => { ... });: Прослушивать указанный порт и выводить информацию после запуска сервера.
Демонстрация примера в GIF
Далее мы продемонстрируем пример выполнения с помощью GIF:
Другие расширения