Кратко ръководство за Node.js през 2019 г

Въведение

Какво е Node.js?

Node.js е едновременно с отворен код и безплатен и се използва за различни цели. За да назовем само няколко, Node.js е много ефективен за обслужване на динамично съдържание. Ако искате бърз и ефективен начин за стартиране на блог, Node.js може да опрости процеса. Базиран на JavaScript, Node.js може да се използва от повечето уеб разработчици, които желаят да извършват операции от страна на сървъра, без да се налага да учат напълно нов език. Node.js също е много ефективен от паметта, обработва всички заявки асинхронно, а включеният мениджър на пакети има достъп до най-голямото хранилище в света.

Предимства

Node.js има няколко предимства, като например следното:

  • Естествено поддържа асинхронни задачи. Например, когато потребител направи заявка към скрипт, написан от Node.js, Node.js продължава да бъде наличен за нови заявки, докато обработва текущата заявка.
  • Поддържа повечето дистрибуции на Linux и има голям брой предварително написани пакети, които можете да използвате.
  • Има повечето от основните функции, които ще ви трябват вградени. Това включва възможността за редактиране, преместване или изтриване на файлове; както и да взаимодействат с MySQL, MongoDB и множество други неща, без да се налага да използвате включения мениджър на пакети.
  • Използва най-голямото хранилище на пакети в света: npm.
  • Синтаксис на кода, подобен на JavaScript. Node.js по същество е JS от страна на сървъра.

Недостатъци

За съжаление обаче, Node.js има своя дял от недостатъци:

  • Тъй като това е сравнително нов език, в сравнение с нещо като PHP, неговата кодова база се актуализира често. Това означава, че извикванията или методите, които използвате, може да не работят в предишна или бъдеща версия на Node.js.
  • Написването на код за Node.js понякога може да отнеме повече време, тъй като не може лесно да използва други библиотеки. ImageMagick, например, е популярна библиотека, използвана в PHP, която не се поддържа с Node.js.
  • За разлика от Java, изключенията са трудни за изпълнение. Това означава, че е почти невъзможно да намерите грешки във вашия код, ако имате JS файл, който е дълъг хиляди редове.

Използване на Node.js

Предпоставки

  • Всяка инсталирана модерна версия на Ubuntu, CentOS или Debian. Тази статия ще обхване само процеса на инсталиране на CentOS.
  • Минимум 256 MB RAM. Имайте предвид, че тази цифра зависи от приложението, което ще използвате.
  • За този урок ще ви трябва и текстов редактор, като Vim или Nano.

Инсталиране на Node

Актуализирайте вашия мениджър на пакети:

yum update -y

Инсталирайте Node.js:

yum install nodejs -y

Ако бъдете подканени да импортирате ключ, въведете, за Yда продължите.

Уверете се, че инсталацията е била успешна:

node -v
npm -v

Основни конвенции за типове файлове

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

API

Езиците за програмиране обикновено имат APIналичен и Node.js не е изключение. Ако сте загубили или необходимост от намиране на синтаксиса за функция (или метод), разгледайте лекарите Node.js .

ЗАБЕЛЕЖКА: Както бе споменато по-рано, Node.js има кодова база, която се актуализира постоянно и като такава, функциите тук може вече да не работят в по-късни версии.

Създаване на вашите първи програми

Здравей свят!

В този раздел ще научим за най-основната програма, която можете да създадете. За да започнете, отидете на /~или /root. Създаването на първия ви проект е толкова просто, колкото създаването на JS файл:

nano HelloWorld.js

След като влезете в любимия си текстов редактор, въведете следното:

// For reference, comments are made using '//' added before or after a line. Comments are ignored by the Node.js interpreter.
console.log("Hello, world!"); // console.log() simply outputs text to the terminal.

Излезте и запазете.

Сега стартирайте програмата си:

node HelloWorld.js

Ще видите следния изход:

[root@test-server ~]# node HelloWorld.js
Hello, world!

Проста математика и променливи

В този раздел ще се научим как да извършваме основни математически операции. За да започнете, отидете /rootотново до вашата директория и създайте файл, наречен MathTest.js:

nano MathTest.js 

Поставете следния код във файла:

var a = 5; // Variables are declared using 'var variableName = value'. The value can be a string, integer, boolean value (ie. true/false) or an object. 
var b = 10;
var c = "Hello, world!";

console.log(c); // This line will output the contents of variable c.
console.log("a = " + a + ", b = " + b); // This line prints out the respective values for a & b.
console.log("a + b = " + (a + b)); // This line prints out the result of (a + b) or (5 + 10). The result should be 15.

Запази и излез.

Когато изпълните MathTest.jsпрограмата си, ще видите следното:

[root@test-server ~]# node MathTest.js
Hello, world!
a = 5, b = 10
a + b = 15

Стартиране на нашия първи уеб сървър

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

nano WebTest.js

Поставете следния код:

 // This line includes the HTTP module. Having it included allows us to use it's methods and functions to start a working webserver.
var http = require("http");
var a = 5, b = 10; 

http.createServer(function (request, response) {
    // This will simply output "Request received!" to your terminal when you visit your page.
    console.log("Request received!");

    // This line tells your browser that it should be expecting HTML content to be returned.
    response.writeHead(200, {'Content-Type': 'text/html'}); 

    // The following line adds "Hello, world! a + b = 15" to the body. The <i></i> tags will italicize the text. 
    response.write("<i>Hello, world! a + b = " + (a + b) + "</i>"); 

    // Finally, we'll tell the browser that we're done sending data with 'response.end()' below.
    response.end(); 
}).listen(8080);

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

[root@test-server ~]# node WebTest.js

Сега посетете http://(YOUR_SERVER_IP):8080. Уверете се, че вашата защитна стена е конфигурирана правилно, за да разрешите заявката.

Ще видите Request received!на вашия терминал и следното във вашия браузър:

Hello, world! a + b = 15

ЗАБЕЛЕЖКА: За да затворите (изключите) WebTest.js, използвайте следната клавишна комбинация: CTRL+ C.

След като вече разбирате някои от основните положения, следващият раздел ще ви запознае с използването на модули на трети страни, инсталирани чрез npm.

Инсталиране на модул на трета страна и използването му в програма

В този раздел ще разширим нашето първо "Здравей, свят!" програма. За начало ще инсталираме пакет, наречен colo . Този пакет ни позволява да използваме цветове на терминала.

За да започнем, ще използваме npmза инсталиране на пакета:

npm i colo  

За справка можете да премахнете пакета с npm remove colo

След като процесът приключи, ще имате достъп до coloпакета. Сега, след като отворите HelloWorld.js, добавете следния ред в горната част:

var colour = require("colo");

Където видите console.log(...), капсулирайте "Здравей, свят!" със скоби. В началото на скобите добавете colour.red.bold:

console.log(colour.red.bold("Hello, world!"));

Вашият окончателен код ще изглежда по следния начин:

var colour = require("colo");
console.log(colour.red.bold("Hello, world!"));

Запазете, излезте и стартирайте програмата си. Резултатът ще бъде точно същият като преди, с изключение на "Здравей, свят!" сега ще бъде червен (и удебелен) във вашия терминал.

Заключителни бележки

Поздравления за завършването на всички основни програми. Това трябва да ви осигури знания за интерпретиране (поне повечето) от кода, използван в други уроци. Надяваме се, че не спирате до тук – има много други неща, които можете да правите с Node.js!

Ако установите, че Node.js не е езикът за вас, премахването му е толкова лесно, колкото следното:

yum remove nodejs -y

Оставете коментар

Възходът на машините: Реални приложения на AI

Възходът на машините: Реални приложения на AI

Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.

DDOS атаки: кратък преглед

DDOS атаки: кратък преглед

Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.

Чудили ли сте се как хакерите печелят пари?

Чудили ли сте се как хакерите печелят пари?

Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.

Революционни изобретения на Google, които ще улеснят живота ви.

Революционни изобретения на Google, които ще улеснят живота ви.

Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

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

Функционалности на референтните архитектурни слоеве за големи данни

Функционалности на референтните архитектурни слоеве за големи данни

Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.

Еволюция на съхранението на данни – инфографика

Еволюция на съхранението на данни – инфографика

Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече