NodeJS

Какво е NodeJS?

Какво е NodeJS?

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

JavaScript има странна история. Започна като лек скриптов език за уеб браузъри и беше третиран по-скоро като „играчка“, отколкото като сериозен език за програмиране. Но отдавна е надраснало своето скромно начало.

Хората започнаха да разширяват възможностите му, когато Google отворен източник на интерпретатор на JavaScript на Chrome - двигателят V8. Възел.js взема този JavaScript двигател и го разширява, за да работи извън сферата на браузъра. Възел.js обвързва JavaScript с приложния програмен интерфейс (API) на вашата операционна система, за да може да се стартира на сървъра (или в случай на разработчик, на неговия / нейния работен плот). Да, това означава, че можете да внедрите сървърни приложения, настолни приложения и back-end механизми, като научите само един език - JavaScript.

Просто казано, можете да пишете .js файлове, които съдържат програми, написани в синтаксис на JavaScript, които ще бъдат интерпретирани от Node.js почти по същия начин като .py файловете с валиден синтаксис се интерпретират / изпълняват от интерпретатора на python.

Но това е нещо повече от просто познаване на езика, Node.js има непознати модули и концепции, които изискват търпение в безкраен цикъл на изучаване на нови концепции. Той има свой собствен мениджър на пакети (npm), мениджър на версии (nvm) и най-големия регистър на пакети в света. Бъдете сигурни, първоначалната трудност ще улесни живота ви в дългосрочен план.

Инсталация

В момента има две опции за Node.js версии, които бихте могли да помислите.

Ще се придържаме към LTS версията. Изтеглянето на Node от официалния сайт за вашата операционна система също ще инсталира Node Package Manager (npm). Трудно е да се говори за Node.js, без да влиза в npm. По-късно ще се върнем към мениджъра на пакети. Ако използвате Ubuntu или друг дистрибутор на debian, просто използвайте:

$ sudo apt инсталира nodejs

За всички двоични файлове и изходния код посетете официалната страница за изтегляне.

Това е всичко с инсталацията, време е да се каже: „Здравей, Свят!”

Здравей свят! И създаване на сървър

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

конзола.log („Здравей, Свят!”);

Сега запишете файла и отворете терминал в същата директория като този файл и изпълнете следната команда:

$ node здравей.js
# Или можете да бягате
$ node здравей

Това ще ви даде желаната продукция от "Здравей свят". Точно като ванилов JavaScript. Но със сигурност можем да се справим по-добре ..

За разлика от приложенията, базирани на PHP, които изискват Apache или Nginx или някаква друга програма за уеб сървъри, която да се изпълнява отгоре, в node пишем собствени http маршрути, конфигурираме портовете и имената на хостове и обработваме HTTP заявки, за да дадем подходящи отговори.

Звучи като много работа, но това е само първоначално препятствие в кривата на обучение и след като разберете нещо, ще можете да разберете уеб приложенията в по-голяма дълбочина от всякога. Нека създадем уеб сървър, който слуша на порт 3000 на localhost и връща текстов файл като отговор. Създайте файл ап.js със следното съдържание:

const http = изисква ('http');
const hostname = '127.0.0.1 ';
const порт = 3000;
const сървър = http.createServer ((req, res) =>
Рез.statusCode = 200;
Рез.setHeader ('Content-Type', 'text / plain');
Рез.end ('Hello World \ n');
);
сървър.слушане (порт, име на хост, () =>
конзола.log ('Сървър, работещ на http: // $ hostname: $ port /');
);

Преди да влезем в подробностите на кода, запазете този файл и отворете терминал в същата директория като файла, след което стартирайте:

$ node app

Това ще изпълни съдържанието на ап.js файл и ще получите изход, както следва:

Отворете уеб браузър и посетете http: // localhost: 3000 / или http: // 127.0.0.1: 3000 /, за да видите прост текст на Hello World в прозореца на браузъра си.

И така, какво направихме току-що? Е, ако сте запознати с JavaScript, вероятно можете да разберете част от него ..

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

The втори и трети ред задава име на хост да се 127.0.0.1 ' и пристанище  да се 3000. Това означава, че можем да продължим да използваме повторно променливата име на хост и пристанище, вместо да въведете целия IP адрес. По-късно, когато действително го разполагате на сървър, ще го замените с IP адреса на сървъра и номер на порт като 80 или 443, ако е уеб сървър. Ключовата дума конст гарантира, че променливата не може да бъде променена другаде в програмата.

The линии четири до осем  създава обект на сървър, който приема заявката като изискване и дава отговор като Рез.

Отговорът има атрибут statusCode, Рез.statusCode което е зададено на 200, което клиентът интерпретира като статус „Добре“. Кодовете за грешки са 400s и 500s, например, Грешка 404 е код за ресурс не е намерен. По същия начин атрибутът setHeader е зададен на 'text / plain', което означава, че клиентът ще получи обикновен текст. Можете да зададете това на HTML и браузърът ви ще изобрази всеки валиден html, с който сървърът отговаря. И край атрибут е просто текстът, който искаме да върнем. Вместо да имат низ тук, приложенията от реалния свят ще имат статичен HTML файл или друг .js файл за клиентския браузър, което би представлявало много по-полезен отговор.

И накрая, последните три реда стартира сървъра и отпечатва съобщение, че той е активен за конкретно име на хост и номер на порт, както е зададено от конст изявления, първоначално. Всеки път, когато постъпва нова заявка с посоченото име на хост: сървърът за комбинация от портове дава отговори с подходящи отговор обект.

Какво предполага?

Не е нужно да разбирате горния код изцяло, за да знаете последиците. Вече имаме JavaScript отпред благодарение на страхотни рамки като Angular и React. Заедно с това имаме и задни функционалности, изпечени в Node.js етос.

Уеб рамки като Express.js може да ви помогне да напишете още по-сложно приложение върху Node.js. Извличането на данни от базата данни, създаването на приложни програмни интерфейси (API) и интерфейса на лицевия интерфейс могат да бъдат написани с един език.

Силата на V8

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

Един от най-важните аргументи в негова подкрепа е, че двигателят V8 има отлична поддръжка за асинхронни, неблокиращи I / O. Което всъщност означава, че един-единствен процес, изпълняван в системната памет, може да обработва множество входящи заявки. Това приблизително означава, че ако една заявка се обработва и влезе друга заявка, Node има способността да започне да обработва новата заявка, дори ако първата заявка все още не е завършена.

Освен това, един процес, който се изпълнява в паметта ви, е отговорен за обработката на всички входящи заявки. За разлика от приложения, базирани на PHP, които създават нов процес за всяка нова входяща заявка.

Дано това въведение беше достатъчно, за да ви мотивира за Node.js. Нека знаем дали искате по-задълбочени уроци по подобни теми, като ни следвате в Twitter, Facebook и YouTube.

Средният бутон на мишката не работи в Windows 10
The среден бутон на мишката ви помага да превъртате дълги уеб страници и екрани с много данни. Ако това спре, добре ще свършите да използвате клавиату...
Как да промените левия и десния бутон на мишката на компютър с Windows 10
Напълно нормално е всички устройства на компютърни мишки да са ергономично проектирани за десничари. Но има налични устройства за мишка, които са спец...
Емулирайте кликванията на мишката, като задържите курсора на мишката с кликаща мишка в Windows 10
Използването на мишка или клавиатура в неправилна поза при прекомерна употреба може да доведе до много здравословни проблеми, включително напрежение, ...