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

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

Какво е Express.js?

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

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

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

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

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

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

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

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

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

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

npm инсталирайте експресно

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

Нека използваме нашата новоинсталирана Express Framework и да създадем просто приложение „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, за да включим „модула express“.
  2. Преди да можем да започнем да използваме експресния модул, трябва да направим обект от него.
  3. Тук създаваме функция за обратно извикване. Тази функция ще бъде извикана всеки път, когато някой разглежда корена на нашето уеб приложение, което е http://localhost:3000 . Функцията за обратно извикване ще се използва за изпращане на низа „Hello World“ към уеб страницата.
  4. Във функцията за обратно извикване ние изпращаме низа „Hello World“ обратно на клиента. Параметърът „res“ се използва за изпращане на съдържание обратно към уеб страницата. Този параметър „res“ е нещо, което се предоставя от модула „request“, за да позволи на човек да изпрати съдържание обратно към уеб страницата.
  5. След това използваме функцията слушане, за да накараме нашето сървърно приложение да слуша клиентски заявки на порт № 3000. Можете да посочите всеки наличен порт тук.

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

Изход:

Express.js

От изхода,

  • Можете ясно да видите, че ако прегледаме URL адреса на localhost на порт 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, който ще покаже низа „Урок за възел“, ако има достъп до този маршрут
  2. Маршрут /Angular, който ще покаже низа „Урок за Angular“, ако има достъп до този маршрут
  3. Маршрут по подразбиране /, който ще покаже низа „Добре дошли в Guru99 Tutorials.“

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

Маршрути в 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. Използваме функцията за изпращане, за да изпратим низа „Урок за възел“ обратно на клиента, ако е избран маршрутът на възел.
  2. Тук дефинираме маршрут, ако URL адресът http://localhost:3000/Angular е избрано в браузъра. Към маршрута прикачваме функция за обратно извикване, която ще бъде извикана, когато преглеждаме Angular URL.
  3. Използваме функцията за изпращане, за да изпратим низа „Tutorial on Angular“ обратно на клиента, ако е избран маршрутът Angular.
  4. Това е маршрутът по подразбиране, който се избира, когато се разглежда маршрута на приложението – http://localhost:3000. Когато е избран маршрутът по подразбиране, на клиента ще бъде изпратено съобщението „Добре дошли в Guru99 Tutorials“.

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

Изход:

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

От изхода,

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

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

От изхода,

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

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

От изхода,

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

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

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

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

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

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

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

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

Нека използваме нашата новоинсталирана рамка 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. Първото нещо, което трябва да посочите в приложението, е „view engine“, който ще се използва за изобразяване на шаблоните. Тъй като ще използваме нефрит за изобразяване на нашите шаблони, уточняваме това съответно.
  2. Функцията за изобразяване се използва за изобразяване на уеб страница. В нашия пример изобразяваме шаблона (index.jade), който беше създаден по-рано.
  3. Предаваме стойностите на „Guru99“ и „Добре дошли“ съответно на параметрите „title“ и „message“. Тези стойности ще бъдат заменени от параметрите „title“ и „message“, декларирани в шаблона index.jade.

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

Изход:

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

От изхода,

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

Oбобщение

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