Кратко ръководство за 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

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

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

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

Внедряване на приложение Meteor в Ubuntu

Внедряване на приложение Meteor в Ubuntu

Тази статия ще ви преведе през внедряването на вашето приложение Meteor на Vultr VPS, работещ с Ubuntu 14.04. Може да работи и в други дистрибуции на Linux (опит a

Настройте Sails.js за разработка на CentOS 7

Настройте Sails.js за разработка на CentOS 7

Използване на различна система? Въведение Sails.js е MVC рамка за Node.js, подобна на Ruby on Rails. Това прави за разработване на съвременни приложения ver

Как да настроите Node.js постоянни приложения на Ubuntu 16.04

Как да настроите Node.js постоянни приложения на Ubuntu 16.04

Приложенията Node.js са популярни заради способността си да се мащабират. Изпълнението на множество едновременни процеси на множество сървъри води до по-ниска латентност и по-голямо време на работа

Инсталиране на Node.js от източник на Ubuntu 14.04

Инсталиране на Node.js от източник на Ubuntu 14.04

Инсталирайте инструменти за изграждане Ще са необходими няколко инструмента. Изпълнете следната команда: apt-get install make g++ libssl-dev git Изтеглете Node.js source It i

Как да инсталирате GruntJS на Debian 9

Как да инсталирате GruntJS на Debian 9

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

Инсталирайте Node.JS чрез Node Version Manager на Ubuntu 14.04

Инсталирайте Node.JS чрез Node Version Manager на Ubuntu 14.04

Лесно инсталирайте и управлявайте всяка версия на Node.JS с помощта на Node Version Manager (NVM). NVM е подобен на Rubys RVM, като ви позволява да инсталирате и превключвате между тях

Как да настроите PM2 на Ubuntu 16.04

Как да настроите PM2 на Ubuntu 16.04

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

Разгръщане на Javascript Unikernels на Vultr с Ops

Разгръщане на Javascript Unikernels на Vultr с Ops

Разгръщане на Javascript Unikernels във Vultr Unikernels са операционни системи с едно приложение. За разлика от операционните системи с общо предназначение като Linux, unikernel

Настройка на уеб сървър Express.js на Ubuntu 16.04 LTS

Настройка на уеб сървър Express.js на Ubuntu 16.04 LTS

В този урок ще инсталираме основен уеб сървър Express.js, използвайки Node.js, среда за изпълнение на Javascript, базирана на двигателя Chromes V8, на нашия Vultr VP

Настройте Sails.js за разработка на Ubuntu 14

Настройте Sails.js за разработка на Ubuntu 14

Използване на различна система? Въведение Sails.js е MVC рамка за Node.js, подобна на Ruby on Rails. Това прави за разработване на съвременни приложения ver

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

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

JXCore е разклонение на Node.js, което въвежда по-добра производителност и многонишковост. Въпреки че е в бета версия, JXCore е достатъчно бърз и стабилен за човека

Създайте уеб приложение Hapi.js с помощта на Node.js в Ubuntu 16.04

Създайте уеб приложение Hapi.js с помощта на Node.js в Ubuntu 16.04

Hapi.js е богата, здрава и мощна рамка на Node.js, предназначена за изграждане на уеб приложения в екосистемата на Node.js. Неговият изчистен дизайн прави i

Разгръщане на приложение Node.js с помощта на Docker

Разгръщане на приложение Node.js с помощта на Docker

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

Как да инсталирате Strapi на Ubuntu 16.04

Как да инсталирате Strapi на Ubuntu 16.04

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

Nginx Reverse Proxy с Ghost на Ubuntu 14.04

Nginx Reverse Proxy с Ghost на Ubuntu 14.04

Ghost е безплатна платформа за блогове с отворен код, написана на node.js, напълно адаптивна и предназначена за публикуване. Подгответе сървъра: Актуализация

Как да разположите Ghost на Fedora 25

Как да разположите Ghost на Fedora 25

Използване на различна система? Ghost е платформа за блогове с отворен код, която набира популярност сред разработчиците и обикновените потребители след пускането си през 2013 г. аз

Инсталиране на Ruby on Rails на Ubuntu 14.04

Инсталиране на Ruby on Rails на Ubuntu 14.04

Ruby on Rails (RoR) е рамка, написана на езика за програмиране Ruby, който ви позволява да използвате Ruby в комбинация с HTML, CSS и подобни програми

Как да настроите приложение Koa.js Node на Ubuntu 16.04 LTS

Как да настроите приложение Koa.js Node на Ubuntu 16.04 LTS

В този урок ще се научим как да настроим уеб приложение Koa.js за производство, използвайки Node.js. Ще свържем и примерен домейн с

Инсталиране на Node.js и Express на Ubuntu

Инсталиране на Node.js и Express на Ubuntu

Осъществен от Chrome V8 Engine, Node.js е популярен език, използван за изграждане на бързи мащабируеми приложения. Той вече задвижва множество проекти, включително

Възходът на машините: Реални приложения на 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 машини. Прочетете тази статия, за да научите повече