Учебное пособие по Node.js Express FrameWork – изучите за 10 минут

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

Что такое Express.js?

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

Он стал стандартной серверной платформой для node.js. Express — это серверная часть того, что известно как стек MEAN.

MEAN — это бесплатная программа с открытым исходным кодом. JavaСценарий стек программного обеспечения для создания динамических веб-сайтов и веб-приложений, который включает следующие компоненты:

1) MongoDB – Стандартная база данных NoSQL

2) Экспресс.js – Платформа веб-приложений по умолчанию

3) Угловой.js - JavaСкриптовый MVC-фреймворк, используемый для веб-приложений

4) Node.js – Платформа, используемая для масштабируемых серверных и сетевых приложений.

Платформа Express.js позволяет очень легко разработать приложение, которое можно использовать для обработки нескольких типов запросов, таких как запросы GET, PUT, POST и DELETE.

Установка и использование Express

Express устанавливается через диспетчер пакетов Node. Это можно сделать, выполнив следующую строку в командной строке

npm установить экспресс

Приведенная выше команда просит менеджер пакетов Node загрузить необходимые экспресс-модули и установить их соответствующим образом.

Давайте воспользуемся нашей недавно установленной платформой Express и создадим простое приложение «Hello World».

Наше приложение создаст простой серверный модуль, который будет прослушивать порт номер 3000. В нашем примере, если через браузер делается запрос на этот номер порта, тогда серверное приложение отправит клиенту ответ «Hello World». .

Установка и использование Express

var express=require('express');
var app=express();
app.get('/',function(req,res)
{
res.send('Hello World!');
});
var server=app.listen(3000,function() {});

Пояснение к коду:

  1. В нашей первой строке кода мы используем функцию require для включения «экспресс-модуля».
  2. Прежде чем мы сможем начать использовать экспресс-модуль, нам нужно создать из него объект.
  3. Здесь мы создаем функцию обратного вызова. Эта функция будет вызываться всякий раз, когда кто-либо просматривает корень нашего веб-приложения, которое http://localhost:3000 . Функция обратного вызова будет использоваться для отправки строки «Hello World» на веб-страницу.
  4. В функции обратного вызова мы отправляем строку «Hello World» обратно клиенту. Параметр «res» используется для отправки контента обратно на веб-страницу. Этот параметр «res» предоставляется модулем «request», позволяющим отправлять контент обратно на веб-страницу.
  5. Затем мы используем функцию прослушивания, чтобы наше серверное приложение прослушивало запросы клиентов на порту № 3000. Здесь вы можете указать любой доступный порт.

Если команда выполнена успешно, при запуске кода в браузере будет отображен следующий вывод.

Вывод:

Express.js

Из вывода,

  • Вы можете ясно видеть, что если мы перейдем к URL-адресу локального хоста на порту 3000, вы увидите строку «Hello World», отображаемую на странице.
  • Поскольку в нашем коде мы специально упомянули, что сервер прослушивает порт № 3000, мы можем просмотреть выходные данные при переходе по этому URL-адресу.

Что такое маршруты?

Маршрутизация определяет способ, которым приложение отвечает на запрос клиента к определенной конечной точке.

Например, клиент может выполнить http-запрос GET, POST, PUT или DELETE для различных URL-адресов, таких как показанные ниже;

http://localhost:3000/Books
http://localhost:3000/Students

В приведенном выше примере

  • Если запрос GET делается для первого URL-адреса, то в идеале ответом должен быть список книг.
  • Если запрос GET делается для второго URL-адреса, то в идеале ответом должен быть список студентов.
  • Таким образом, в зависимости от URL-адреса, к которому осуществляется доступ, на веб-сервере будут вызываться различные функции и, соответственно, ответ будет отправлен клиенту. Это концепция маршрутизации.

Каждый маршрут может иметь одну или несколько функций-обработчиков, которые выполняются при совпадении маршрута.

Общий синтаксис маршрута показан ниже.

app.METHOD(PATH, HANDLER)

В которой,

1) приложение является экземпляром экспресс-модуля

2) METHOD — метод HTTP-запроса (GET, POST, PUT или DELETE).

3) PATH — путь на сервере.

4) HANDLER — это функция, выполняемая при совпадении маршрута.

Давайте рассмотрим пример того, как мы можем реализовать маршруты в экспрессе. В нашем примере будет создано 3 маршрута как

  1. Маршрут /Node, который будет отображать строку «Tutorial on Node» при доступе к этому маршруту.
  2. Маршрут /Angular, который будет отображать строку «Tutorial on Angular» при доступе к этому маршруту.
  3. Маршрут по умолчанию /, который будет отображать строку «Добро пожаловать в руководства Guru99».

Наш базовый код останется таким же, как и в предыдущих примерах. Приведенный ниже фрагмент представляет собой дополнение, демонстрирующее реализацию маршрутизации.

Маршруты в Node.js

var express = require('express');
var app = express();
app.route('/Node').get(function(req,res)
{
    res.send("Tutorial on Node");
});
app.route('/Angular').get(function(req,res)
{
    res.send("Tutorial on Angular");
});
app.get('/',function(req,res){
    res.send('Welcome to Guru99 Tutorials');
}));

Пояснение к коду:

  1. Здесь мы определяем маршрут, если URL-адрес http://localhost:3000/Node выбирается в браузере. К маршруту мы присоединяем функцию обратного вызова, которая будет вызываться при переходе по URL-адресу узла. Функция имеет 2 параметра.
  • Основной параметр, который мы будем использовать, — это параметр «res», который можно использовать для отправки информации обратно клиенту.
  • Параметр 'req' содержит информацию о сделанном запросе. Иногда дополнительные параметры могут быть отправлены как часть выполняемого запроса, и, следовательно, параметр «req» может использоваться для поиска отправляемых дополнительных параметров.
  1. Мы используем функцию отправки для отправки строки «Tutorial on Node» обратно клиенту, если выбран маршрут Node.
  2. Здесь мы определяем маршрут, если URL-адрес http://localhost:3000/Angular выбирается в браузере. К маршруту мы присоединяем функцию обратного вызова, которая будет вызываться при переходе по URL-адресу Angular.
  3. Мы используем функцию отправки для отправки строки «Учебное пособие по Angular» обратно клиенту, если выбран маршрут Angular.
  4. Это маршрут по умолчанию, который выбирается при переходе к маршруту приложения – http://localhost:3000. Когда выбран маршрут по умолчанию, клиенту будет отправлено сообщение «Добро пожаловать в Guru99 Tutorials».

Если команда выполнена успешно, при запуске кода в браузере будет отображен следующий вывод.

Вывод:

Маршруты в Node.js

Из вывода,

  • Вы можете ясно видеть, что если мы перейдем к URL-адресу локального хоста на порту 3000, вы увидите строку «Добро пожаловать в руководства Guru99», отображаемую на странице.
  • Потому что в нашем коде мы упомянули, что наш URL-адрес по умолчанию будет отображать это сообщение.

Маршруты в Node.js

Из вывода,

  • Вы можете видеть, что если URL-адрес был изменен на /Node, будет выбран соответствующий маршрут узла и отобразится строка «Учебное пособие на узле».

Маршруты в Node.js

Из вывода,

  • Вы можете видеть, что если URL-адрес был изменен на /Angular, будет выбран соответствующий маршрут узла и отобразится строка «Tutorial On Angular».

Пример веб-сервера с использованием express.js

Из приведенного выше примера мы увидели, как мы можем решить, какой вывод отображать на основе маршрутизации. Этот вид маршрутизации используется в большинстве современных веб-приложений. Другая часть веб-сервера связана с использованием шаблонов в Node js.

При создании быстрых Node-приложений «на лету» простым и быстрым способом является использование шаблонов для приложения. На рынке доступно множество фреймворков для создания шаблонов. В нашем случае мы возьмем в качестве примера Jade-фреймворк для шаблонизации.

Jade устанавливается через менеджер пакетов Node. Это можно сделать, выполнив следующую строку в командной строке

нпм установить Джейд

Приведенная выше команда запрашивает менеджер пакетов Node загрузить необходимые модули jade и установить их соответствующим образом.

ПРИМЕЧАНИЕ: В последней версии Node jade объявлен устаревшим. Вместо этого используйте pug.

Давайте воспользуемся нашей недавно установленной Jade-инфраструктурой и создадим несколько базовых шаблонов.

Шаг 1) Первым шагом является создание нефритового шаблона. Создайте файл с именем index.jade и вставьте приведенный ниже код. Обязательно создайте файл в папке «views».

Пример веб-сервера с использованием Express.js

  1. Здесь мы указываем, что заголовок страницы будет изменен на любое значение, переданное при вызове этого шаблона.
  2. Мы также указываем, что текст в теге заголовка будет заменен на все, что передается в шаблоне jade.

Пример веб-сервера с использованием Express.js

var express=require('express');
var app=express();
app.set('view engine','jade');
app.get('/',function(req,res)
{
res.render('index',
{title:'Guru99',message:'Welcome'})
});
var server=app.listen(3000,function() {});

Пояснение к коду:

  1. Первое, что нужно указать в приложении, — это «движок просмотра», который будет использоваться для рендеринга шаблонов. Поскольку мы собираемся использовать нефрит для рендеринга наших шаблонов, мы указываем это соответствующим образом.
  2. Функция рендеринга используется для рендеринга веб-страницы. В нашем примере мы визуализируем шаблон (index.jade), созданный ранее.
  3. Мы передаем значения «Guru99» и «Добро пожаловать» в параметры «заголовок» и «сообщение» соответственно. Эти значения будут заменены параметрами «title» и «message», объявленными в шаблоне index.jade.

Если команда выполнена успешно, при запуске кода в браузере будет отображен следующий вывод.

Вывод:

Пример веб-сервера с использованием Express.js

Из вывода,

  • Мы видим, что для заголовка страницы установлено значение «Guru99», а для заголовка страницы — «Добро пожаловать».
  • Это связано с шаблоном jade, который вызывается в нашем приложении node js.

Итого

  • Express framework — наиболее распространенный фреймворк, используемый для разработки приложений Node js. Платформа Express построена на основе платформы node.js и помогает ускорить разработку серверных приложений.
  • Маршруты используются для перенаправления пользователей в разные части веб-приложений в зависимости от сделанного запроса. Ответ для каждого маршрута может варьироваться в зависимости от того, что необходимо показать пользователю.
  • Шаблоны можно использовать для эффективного внедрения контента. Jade — один из самых популярных шаблонизаторов, используемых в приложениях Node.js.