Това ръководство обяснява процедурата за изпълнение на стратегии за маршрутизиране в Node.js.
- Как да изпълнявате стратегии за маршрутизиране в Node.js
- Предпоставки
- Маршрутизиране с рамки в Node.js
- Маршрутизиране без рамки в Node.js
- Заключение
Как да изпълнявате стратегии за маршрутизиране в Node.js
Маршрутизирането може да се извърши с и без използването на рамки или външни модули, изборът между двата подхода зависи единствено от изискванията на проекта. Има повече контрол върху потока на модулите за изпълнение и събития, докато работите без рамки. С използването на рамки, контролът върху изпълнението намалява много.
Предпоставки
Като предпоставка програмистът първо трябва да инсталира node.js на своята операционна система и да инициализира проекта node.js. За инсталиране на Node.js на операционни системи Windows и Linux можете да посетите нашия „ Инсталиране на Node.js на Linux? ' и ' Инсталиране на Node.js и npm на Windows 11? ” статии.
Сега инициализирайте „ npm ” в желаната директория, за да настроите проекта Node.js, като използвате посочената по-долу команда:
npm инициал - и
След изпълнение на горепосочената команда, „ package.json ” автоматично ще бъде създаден файл, който съдържа данни за създадения Node.js проект:
Маршрутизиране с рамки в Node.js
Най-добрата и най-използвана рамка за внедряване на маршрутизиране в Node.js е „ експресен ” модул. Той дава много свобода на разработчиците и подобрява сигурността и производителността на вашето приложение. Маршрутът може да бъде зададен чрез няколко метода ' получи() ', ' пост() ', ' слагам() ', ' Изтрий() ', и ' всичко() ”, които са описани по-долу:
- „ получи() ” методът на експресния модул се използва за извличане или изпращане на данните от сървър.
- „ пост() ” методът се използва за публикуване или изпращане на данните през сървър.
- „ слагам() ” на експресния модул, променя данните, които се намират на сървъра.
- „ Изтрий() ” се използва за изтриване на избрана част от данните.
- „ всичко() ” може да изпълнява всички задачи, описани по-горе.
За да работи горепосоченият метод, необходимите „ експресен ” първо трябва да се инсталира модул. Тази инсталация се извършва чрез изпълнение на командата по-долу:
npm изразявамГенерираният изход през терминала потвърждава инсталирането на необходимия „експресен“ модул:
Нека се задълбочим в практическото прилагане на гореобсъдените методи.
Пример 1: Маршрутизиране чрез метод get().
В този пример маршрутът е зададен с помощта на експресния модул ' получи() ”, за да изпратите фиктивно съобщение през сървъра, кодът е посочен по-долу:
конст expObj = изискват ( 'експресен' ) ;конст portNum = 8080 ;
конст helloApp = expObj ( ) ;
helloApp. получавам ( '/' , ( req, res ) => {
рез. изпрати ( '
Здравейте! Linuxhint общност
' ) ;} ) ;
helloApp. слушам ( portNum, ( ) => {
конзола. дневник ( `Започва от $ { portNum } ` ) ;
} ) ;
Описанието на горния код е както следва:
- Първо, необходимите „ експресен ” се импортира и обектът му се съхранява в „ expObj ” променливи.
- След това създайте „ конст ” въведете променлива и запазете номера на порта на локалния хост на „ 8080 ' в него. Също така създайте експресно приложение с името „ helloApp ”.
- Сега, за да изпратите заявки, използвайте „ получи() ” и вътре в неговата функция за обратно извикване извикайте „ изпрати () ” за изпращане на произволни съобщения през създадения сървър.
- И накрая, задайте сървъра на определен номер на порт, като извикате „ слушам() ” метод. За по-добра четливост покажете фиктивно съобщение над конзолата, като използвате опционалната функция за обратно извикване.
Сега изпълнете горния код, съдържащ файл, като изпълните командата:
възел < име на файл >След изпълнение на съдържащия файл, който е „ proApp.js ” в нашия случай терминалът показва, че сървърът е стартиран на предоставения номер на порт:
Сега отидете до локалния хост с определен номер на порт и съобщението, което се изпраща през сървъра, трябва да се покаже, както е показано по-долу:
Пример 2: Маршрутизиране чрез метода all().
В този пример маршрутът е зададен с помощта на експресния модул ' всичко() ”, за да изпратите фиктивно съобщение през сървъра:
конст expObj = изискват ( 'експресен' ) ;конст portNum = 8080 ;
//Създаване на експресно приложение
конст helloApp = expObj ( ) ;
helloApp. всичко ( '/' , ( req, res ) => {
рез. всичко ( '
Здравейте! Linuxhint общност
' ) ;} ) ;
//Настройвам
helloApp. слушам ( portNum, ( ) => {
конзола. дневник ( `Започва от $ { portNum } ` ) ;
} ) ;
Горният код е същият като кода, обяснен в горния раздел, само „ всичко() сега се използва методът вместо „ получи() ” метод. Няма разлика в работата като „ всичко() ” може също да изпълнява „ получи() ” функционалност на метода.
Сега изпълнете горния код, съдържащ файл, като изпълните командата:
възел < име на файл >След изпълнение на горната команда, терминалът показва, че сървърът е стартиран на предоставения номер на порт:
Сега отидете до локалния хост с определен номер на порт и съобщението, което трябва да бъде изпратено през сървъра, трябва да се покаже като:
Маршрутизиране без рамки в Node.js
Маршрутизирането може да бъде установено без използването на рамка или външни модули като „ експресен ”. Модулите по подразбиране като „ http ” може също да се използва за настройка на персонализирано маршрутизиране на вашето приложение. Например, маршрутите за страниците на вашето приложение ще бъдат зададени в кодовия фрагмент по-долу:
конст httpObj = изискват ( 'http' ) ;httpObj. createServer ( ( молба, отговор ) => {
отговор. writeHead ( 200 , { 'Тип съдържание' : 'текст/html' } ) ;
конст currentUrl = искане. URL адрес ;
ако ( currentUrl === '/twitter' ) {
отговор. пишете ( „Добре дошли на страницата в Twitter“ ) ;
отговор. край ( ) ;
}
друго ако ( currentUrl === '/youtube' ) {
отговор. пишете ( „Добре дошли в страницата на Youtube“ ) ;
отговор. край ( ) ;
}
друго {
отговор. пишете ( „Здравей общност на Linuxhint!“ ) ;
отговор. край ( ) ;
}
} ) . слушам ( 8080 , ( ) => {
конзола. дневник ( 'сървърът стартира на порт номер 8080.' ) ;
} ) ;
Обяснението на горния код е както следва:
- Първо импортирайте „ http ” с помощта на „ изисквам() ” и съхранява обекта му в нова променлива с име „ httpObj ”.
- След това с помощта на този обект създайте сървър, като извикате „ createServer() ” метод. Вътре в този метод използвайте необходима функция за обратно извикване, съдържаща два параметъра, а именно „ искане ' и ' отговор ”.
- Използвайки ' отговор ” параметър извиква „ writeHead() ” и задава заглавката на типа на „ текст/html “ и числото на успеха на „ 200 ” за сървъра.
- Сега запазете „URL адреса“ на създадения сървър в „ currentUrl ' променлива, която се извлича с помощта на ' request.url ' Имот.
- Използвайте „ ако ', ' иначе ако ', и ' друго ”, за да проверите дали URL адресът, съхранен в „ currentUrl ” променливата завършва с посочените имена или не. Завършването с конкретни имена означава идентифициране дали потребителят е на конкретна страница или не.
- Ако някое условие стане вярно, тогава фиктивното съобщение, намиращо се в тези блокове, се показва на уеб страницата.
- Накрая задайте номера на порта на „ 8080 ” за вашия localhost сървър и покажете съобщение за успех на терминала.
Съхранявайте показания по-горе код в новия файл с тип, зададен на „ .js ” и го изпълнете с помощта на командата:
възел < име на файл >Генерираният изход показва, че е установено маршрутизиране за различни страници на приложение без използването на външен модул или рамка:
Това е всичко относно стратегиите за маршрутизиране в Node.js.
Заключение
За да изпълните стратегиите за маршрутизиране в Node.js, рамките или външните модули като „ експресен ' може да се използва с помощта на ' получи() ', ' пост() ', ' слагам() ', ' Изтрий() ', и ' всичко() ” методи. Модулът по подразбиране като „ http ” също е много полезно при използването на „ createServer() ” и неговите методи като „ writeHead() ', ' пиши() ', и ' край() ”. Това ръководство илюстрира процедурата за изпълнение на стратегии за маршрутизиране в Node.js.