Node.js — Фреймворк Express

Node.js — Фреймворк Express

От автора: Node js Express — это минималистичный и гибкий фреймворк веб-приложений Node.js, который предоставляет набор функций для разработки веб- и мобильных приложений. Он существенно упрощает разработку веб-приложений на базе Node. Ниже приведены некоторые из основных функций фреймворка Express.

Позволяет настроить посредников для ответа на запросы HTTP.

Определяет таблицу маршрутизации, которая используется для выполнения различных действий на основе метода HTTP и URL-адреса.

Позволяет динамически создавать HTML-страницы на основе передачи аргументов шаблонам.

Установка Express

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

Бесплатный курс «Full-Stack практика»

Изучите курс и создайте веб-приложение с нуля на JavaScript, NodeJS, ExpressJS

Получить курс

Приведенная выше команда устанавливает фреймворк локально в каталоге node_modules и создает внутри каталога node_modules каталог express. Вместе с express необходимо установить следующие основные модули:

body-parser — это middleware node.js для обработки кодированных данных JSON, Raw, Text и URL.

cookie-parser — обрабатывает заголовоки Cookie и передает в req.cookies объект с именами cookie.

multer — это middleware node.js для обработки multipart/form-data.

Пример приложения Hello world

Ниже приведено очень простое приложение Express, которое запускает сервер и прослушивает порт 8081. Это приложение выдает ответ Hello World! на запросы к главной странице. На запросы ко всем остальным путям предоставляется ответ 404 Not Found.

Сохраните приведенный выше код в файле с именем server.js и запустите его с помощью следующей команды.

В результате вы должны получить следующее:

Перейдите по адресу http://127.0.0.1:8081/ в любом браузере.

Node.js — Фреймворк Express

Ответ на запрос

Приложение Express использует функцию обратного вызова, параметрами которой являются объекты request и response.

Объект Request − Объект request представляет HTTP-запрос и содержит свойства для строки запроса, параметров, тела, заголовков HTTP и т. д.

Объект Response – Объект response представляет HTTP-ответ, отправляемый приложением Express, после получения HTTP-запроса.

Вы можете вывести объекты req и res, которые предоставляют различную информацию, связанную с HTTP запросом и ответом, включая файлы cookie, сессии, URL-адреса и т. д.

Базовая маршрутизация

Мы рассмотрели простейшее приложение, которое обслуживает HTTP-запрос к главной странице. Маршрутизация обрабатывает то, как приложение будет обрабатывать запрос клиентов к конкретной точке, которая представляет собой URI (или путь) и конкретный метод HTTP-запроса (GET, POST и т. д.). Мы расширим нашу программу Hello World, чтобы она обрабатывала больше типов HTTP-запросов.

Сохраните приведенный выше код в файле с именем server.js и запустите его с помощью следующей команды.

Вы получите следующий результат:

Теперь вы можете попробовать разные запросы к http://127.0.0.1:8081, чтобы увидеть результат, сгенерированный server.js. Ниже приведены несколько снимков экранов, на которых показаны разные ответы для разных URL-адресов. http://127.0.0.1:8081/list_user:

Node.js — Фреймворк Express

http://127.0.0.1:8081/abcd:

Node.js — Фреймворк Express

http://127.0.0.1:8081/abcdefg:

Node.js — Фреймворк Express

Обслуживание статических файлов

Express предоставляет встроенное middleware express.static для обслуживания статических файлов, таких как изображения, CSS, JavaScript и т. д.

Вам просто нужно передать имя каталога, в котором хранятся статические ресурсы, в middleware express.static, чтобы обслуживать файлы напрямую. Например, если вы сохраняете файлы изображений, CSS и JavaScript в каталоге с именем public, вы можете сделать следующее:

Бесплатный курс «Full-Stack практика»

Изучите курс и создайте веб-приложение с нуля на JavaScript, NodeJS, ExpressJS

Получить курс

Мы сохраним несколько изображений в подкаталоге public/images следующим образом:

Давайте изменим приложение «Hello Word», чтобы добавить функционал для обработки статических файлов.

Сохраните приведенный выше код в файле с именем server.js и запустите его с помощью следующей команды.

Теперь откройте перейдите к http://127.0.0.1:8081/images/logo.png в любом браузере, вы должны увидеть следующее.

Node.js — Фреймворк Express

Метод GET

Ниже приводится простой пример, в котором мы передаем два значения, используя метод HTML FORM GET. Для обработки этих данных мы будем использовать маршрутизатор process_get внутри server.js.

Сохраните приведенный выше код в index.htm и измените server.js, чтобы он обрабатывал запросы к главной странице, а также данные введенные через HTML-форму.

Переход к HTML-документу через http://127.0.0.1:8081/index.htm приведет к созданию следующей формы:

Node.js — Фреймворк Express

Теперь вы можете ввести имя и фамилию, а затем нажать кнопку «Отправить», в результате вы должны получить следующее:

Метод POST

Ниже приводится простой пример, в котором мы передаем два значения, используя метод HTML FORM POST. Для обработки введенных данных мы будем использовать маршрутизатор process_get внутри server.js.

Сохраните приведенный выше код в index.htm и измените server.js, чтобы он обрабатывал запросы к главной странице, а также данные введенные через HTML-форму.

Переход к HTML-документу через http://127.0.0.1:8081/index.htm приведет к созданию следующей формы:

Node.js — Фреймворк Express

Теперь вы можете ввести Имя и Фамилию, а затем нажмите кнопку отправить:

Загрузка файлов

Следующий HTML-код создает форму для загрузки файлов. В этой форме для атрибута method , задано значение POST, а для атрибута enctype — multipart/form-data.

Сохраните приведенный выше код в index.htm и измените server.js для обработки запросов к главной странице, а также загрузки файлов.

Переход к HTML-документу через http://127.0.0.1:8081/index.htm приведет к созданию следующей формы:

Node.js — Фреймворк Express

Управление файлами cookie

Вы можете отправлять файлы cookie на сервер Node.js, который будет обрабатывать их таким же образом, используя следующие параметры middleware. Ниже приведен простой пример вывода всех файлов cookie, отправленных клиентом.

Источник: https://www.tutorialspoint.com/

Редакция: Команда webformyself.

Бесплатный курс «Full-Stack практика»

Изучите курс и создайте веб-приложение с нуля на JavaScript, NodeJS, ExpressJS

Получить курс

FullStack-Мастер

FullStack-Мастер. Разработка CRM-системы на Node.js, Express, Angular 6

Научиться

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Я не робот.

Spam Protection by WP-SpamFree