Node.js Express FrameWork Урок - Научете за 10 минути

В този урок ще изучим рамката Express. Тази рамка е изградена по такъв начин, че действа като минимална и гъвкава рамка за уеб приложения на Node.js, предоставяйки солиден набор от функции за изграждане на единични и многостранични и хибридни уеб приложения.

В този урок ще научите-

Какво е Express.js?

Express.js е рамка на сървър за уеб приложения на Node js, която е специално проектирана за създаване на едностранични, многостранични и хибридни уеб приложения.

Той се превърна в стандартна сървърна рамка за node.js. Express е задната част на нещо, известно като стека MEAN.

MEAN е безплатен софтуерен стек с отворен код за създаване на динамични уеб сайтове и уеб приложения, който има следните компоненти;

1) MongoDB - Стандартната база данни NoSQL

2) Express.js - Рамката за уеб приложения по подразбиране

3) Angular.js - JavaScript MVC рамката, използвана за уеб приложения

4) Node.js - Рамка, използвана за мащабируеми сървърни и мрежови приложения.

Рамката Express.js улеснява разработването на приложение, което може да се използва за обработка на множество типове заявки като GET, PUT, POST и DELETE.

Инсталиране и използване на Express

Express се инсталира чрез Node Package Manager. Това може да стане чрез изпълнение на следния ред в командния ред

npm install express

Горната команда изисква от мениджъра на пакети Node да изтегли необходимите експресни модули и да ги инсталира съответно.

Нека използваме нашата новоинсталирана Express рамка и да създадем просто приложение „Hello World“.

Нашето приложение ще създаде прост сървърен модул, който ще слуша на порт номер 3000. В нашия пример, ако се направи заявка през браузъра на този номер на порт, тогава сървърното приложение ще изпрати отговор „Hello“ World “на клиента .

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“ е нещо, което се предоставя от модула „заявка“, за да може човек да изпраща съдържание обратно към уеб страницата.
  5. След това използваме функцията за слушане, за да накараме нашето сървърно приложение да слуша клиентските заявки на порт № 3000. Можете да посочите всеки наличен порт тук.

Ако командата се изпълни успешно, следният изход ще се покаже, когато стартирате кода си в браузъра.

Изход:

От изхода,

  • Можете ясно да видите, че ако прегледаме URL адреса на localhost на порт 3000, ще видите низ 'Hello World', показан на страницата.
  • Тъй като в нашия код сме споменали специално за сървъра да слуша на порт № 3000, ние можем да видим изхода при сърфиране към този URL адрес.

Какво представляват маршрутите?

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

Например, клиентът може да направи GET, POST, PUT или DELETE http заявка за различни URL адреси, като тези, показани по -долу; | _+_ |

В горния пример,

  • Ако GET заявка е направена за първия URL адрес, тогава отговорът в идеалния случай трябва да бъде списък с книги.
  • Ако заявката GET е направена за втория URL, тогава отговорът в идеалния случай трябва да бъде списък на ученици.
  • Така въз основа на URL адреса, до който се осъществява достъп, ще бъде извикана различна функционалност на уеб сървъра и съответно отговорът ще бъде изпратен на клиента. Това е концепцията за маршрутизиране.

Всеки маршрут може да има една или повече функции манипулатори, които се изпълняват при съвпадение на маршрута.

Общият синтаксис за маршрут е показан по -долу | _+_ |

При което,

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

2) METHOD е метод за HTTP заявка (GET, POST, PUT или DELETE)

3) PATH е път към сървъра.

4) HANDLER е функцията, която се изпълнява, когато маршрутът е съчетан.

Нека разгледаме пример за това как можем да внедрим маршрути в експреса. Нашият пример ще създаде 3 маршрута като

  1. Маршрут на A /Node, който ще показва низ 'Урок на възел', ако този маршрут е достъпен
  2. A /Ъглов маршрут, който ще показва низ 'Урок на Angular', ако този маршрут е достъпен
  3. Маршрут по подразбиране / който ще показва низа „Добре дошли в уроци по Guru99“.

Основният ни код ще остане същият като предишните примери. Фрагментът по-долу е добавка, която показва как се прилага маршрутизацията.

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

Код Обяснение:

  1. Тук дефинираме маршрут, ако URL адресът http: // localhost: 3000/Node е избран в браузъра. Към маршрута прикачваме функция за обратно извикване, която ще бъде извикана, когато прегледаме URL адреса на възела.

    Функцията има 2 параметъра.

  • Основният параметър, който ще използваме, е параметърът „res“, който може да се използва за изпращане на информация обратно до клиента.
  • Параметърът 'req' съдържа информация за направената заявка. Понякога могат да бъдат изпратени допълнителни параметри като част от отправената заявка и следователно параметърът 'req' може да се използва за намиране на изпращаните допълнителни параметри.
  1. Използваме функцията за изпращане, за да изпратим низа „Урок на възел“ обратно до клиента, ако е избран маршрутът на възела.
  2. Тук определяме маршрут, ако URL адресът http: // localhost: 3000/Angular е избран в браузъра. Към маршрута прикачваме функция за обратно повикване, която ще бъде извикана, когато прегледаме URL адреса на Angular.
  3. Използваме функцията за изпращане, за да изпратим низа „Урок на Angular“ обратно до клиента, ако е избран маршрутът Angular.
  4. Това е маршрутът по подразбиране, който се избира, когато човек прегледа маршрута на приложението - http: // localhost: 3000 . Когато маршрутът по подразбиране е избран, на клиента ще бъде изпратено съобщението „Добре дошли в уроци по Guru99“.

Ако командата се изпълни успешно, следният изход ще се покаже, когато стартирате кода си в браузъра.

Изход:

От изхода,

  • Можете ясно да видите, че ако прегледаме URL адреса на localhost на порт 3000, ще видите низа „Добре дошли в уроците на Guru99“, показан на страницата.
  • Тъй като в нашия код споменахме, че URL адресът ни по подразбиране ще показва това съобщение.

От изхода,

  • Можете да видите, че ако URL адресът е променен на /Node, съответният маршрут на Node ще бъде избран и ще се покаже низът „Tutorial On Node“.

От изхода,

  • Можете да видите, че ако URL адресът е променен на /Angular, съответният маршрут на Node ще бъде избран и ще се покаже низът „Tutorial On Angular“.

Примерен уеб сървър, използващ express.js

От горния ни пример видяхме как можем да решим какъв изход да показваме въз основа на маршрутизиране. Този вид маршрутизиране се използва в повечето съвременни уеб приложения. Другата част на уеб сървъра е за използване на шаблони в Node js.

Когато създавате бързи приложения на Node в движение, лесен и бърз начин е да използвате шаблони за приложението. На пазара има много рамки за създаване на шаблони. В нашия случай ще вземем за пример нефритовата рамка за шаблониране.

Jade се инсталира чрез мениджъра на пакети на възли. Това може да стане чрез изпълнение на следния ред в командния ред

npm инсталирайте нефрит

Горната команда изисква от мениджъра на пакети Node да изтегли необходимите нефритови модули и да ги инсталира съответно.

ЗАБЕЛЕЖКА: В последната версия на Node нефритът е отхвърлен. Вместо това използвайте мопс.

Нека използваме нашата новоинсталирана рамка за нефрит и да създадем някои основни шаблони.

Етап 1) Първата стъпка е да създадете шаблон за нефрит. Създайте файл, наречен index.jade и вмъкнете кода по -долу. Уверете се, че сте създали файла в папката „views“

  1. Тук уточняваме, че заглавието на страницата ще бъде променено на каквато и стойност да бъде предадена, когато този шаблон бъде извикан.
  2. Ние също така уточняваме, че текстът в заглавния маркер ще бъде заменен с всичко, което се предава в шаблона за нефрит.

app.METHOD(PATH, HANDLER)

Код Обяснение:

  1. Първото нещо, което трябва да посочите в приложението, е „двигател за изглед“, който ще се използва за изобразяване на шаблоните. Тъй като ще използваме нефрит за изобразяване на нашите шаблони, ние посочваме това съответно.
  2. Функцията за визуализация се използва за изобразяване на уеб страница. В нашия пример изобразяваме шаблона (index.jade), който е създаден по -рано.
  3. Предаваме стойностите на „Guru99“ и „Добре дошли“ съответно на параметрите „title“ и „message“. Тези стойности ще бъдат заменени с параметрите „title“ и „message“, декларирани в шаблона index.jade.

Ако командата се изпълни успешно, следният изход ще се покаже, когато стартирате кода си в браузъра.

Изход:

От изхода,

  • Можем да видим, че заглавието на страницата се настройва на „Guru99“, а заглавката на страницата се настройва на „Добре дошли“.
  • Това се дължи на шаблона за нефрит, който се извиква в нашето приложение node js.

Резюме

  • Експресната рамка е най -често срещаната рамка, използвана за разработване на Node js приложения. Експресната рамка е изградена върху рамката на node.js и помага за бързо проследяване на разработката на сървърно базирани приложения.
  • Маршрутите се използват за пренасочване на потребителите към различни части на уеб приложенията въз основа на направената заявка. Отговорът за всеки маршрут може да варира в зависимост от това какво трябва да се покаже на потребителя.
  • Шаблоните могат да се използват за инжектиране на съдържание по ефективен начин. Jade е един от най -популярните шаблонни двигатели, използвани в приложенията на Node.js.