NodeJS

Что такое NodeJS?

Что такое NodeJS?

В этом уроке мы начнем с Node.js. Узнайте о некоторых из его самых популярных функций и постарайтесь мотивировать читателей использовать эту замечательную технологию для своих будущих проектов. В качестве предварительного условия вам просто нужно иметь поверхностное знакомство с JavaScript и общими концепциями программирования, такими как переменные, типы данных и функции.

У JavaScript странная история. Он начинался как легкий язык сценариев для веб-браузеров и рассматривался скорее как «игрушка», чем как серьезный язык программирования. Но он давно перерос свое скромное начало.

Люди начали расширять его возможности, когда Google предоставил открытый исходный код JavaScript-интерпретатора Chrome - движка V8. Узел.js берет этот движок JavaScript и расширяет его для работы за пределами браузера. Узел.js связывает JavaScript с API вашей операционной системы, поэтому он может работать на сервере (или, в случае разработчика, на его / ее рабочем столе). Да, это означает, что вы можете реализовать серверные приложения, настольные приложения и внутренние механизмы, изучив только один язык - JavaScript.

Проще говоря, вы можете написать .js файлы, содержащие программы, написанные с синтаксисом JavaScript, которые будут интерпретироваться Node.js почти так же, как .ру файлы с допустимым синтаксисом интерпретируются / выполняются интерпретатором python.

Однако здесь есть нечто большее, чем просто знание языка.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 или какой-либо другой программы веб-сервера поверх, в узле мы пишем наши собственные HTTP-маршруты, настраиваем порты и имена хостов и обрабатываем HTTP-запросы, чтобы давать соответствующие ответы.

Похоже, много работы, но это только начальное препятствие на пути обучения, и как только вы разберетесь в вещах, вы сможете разбираться в веб-приложениях глубже, чем когда-либо прежде. Давайте создадим веб-сервер, который прослушивает порт 3000 на локальном хосте и возвращает текстовый файл в качестве ответа. Создать файл приложение.js со следующим содержанием:

const http = require ('http');
const hostname = '127.0.0.1 ';
const порт = 3000;
const server = http.createServer ((req, res) =>
res.statusCode = 200;
res.setHeader ('Content-Type', 'текст / простой');
res.конец ('Hello World \ n');
);
сервер.listen (порт, имя хоста, () =>
приставка.log ('Сервер работает по адресу http: // $ hostname: $ port /');
);

Прежде чем мы перейдем к деталям кода, сохраните этот файл и откройте терминал в том же каталоге, что и файл, затем запустите:

приложение $ node

Это выполнит содержимое приложение.js файл, и вы получите следующий результат:

Откройте веб-браузер и перейдите по адресу http: // localhost: 3000 / или http: // 127.0.0.1: 3000 /, чтобы увидеть простой текст Hello World в окне браузера.

Итак, что мы только что сделали? Что ж, если вы знакомы с JavaScript, вы, вероятно, сможете разобраться в некоторых из них ..

В первая строка импортирует http-модуль, который является встроенным модулем, который поставляется вместе с Node, и помогает нам прослушивать веб-сокеты для запросов, обрабатывать http-запросы и давать соответствующие ответы.

В вторая и третья линия устанавливает имя хоста к '127.0.0.1 ' а также порт  к 3000. Это означает, что мы можем продолжать повторно использовать переменную имя хоста а также порт, вместо того, чтобы вводить весь IP-адрес. Позже, когда вы фактически развертываете его на сервере, вы замените его IP-адресом сервера и номером порта, например 80 или 443, если это веб-сервер. Ключевое слово const гарантирует, что переменная не может быть изменена где-либо еще в программе.

В линии от четырех до восьми  создает объект сервера, который принимает запрос как req и дает ответ как res.

Ответ имеет атрибут statusCode, res.statusCode который установлен на 200, что клиент интерпретирует как статус «ОК». Коды ошибок: 400 и 500, например, ошибка 404 - это код для ресурса, который не найден. Точно так же атрибут setHeader установлен в 'text / plain', что означает, что клиент получит простой текст. Вы можете установить для него значение HTML, и ваш браузер будет отображать любой действительный HTML-код, на который сервер отвечает. И конец атрибут - это просто текст, который мы хотим вернуть. Вместо строки здесь в реальных приложениях будет статический HTML-файл или другой .js файл для клиентского браузера, что составило бы гораздо более полезный ответ.

Наконец, последние три строки запускает сервер и печатает сообщение о том, что он активен на определенном имени хоста и номере порта, как установлено const заявления, первоначально. Каждый раз, когда на указанное имя хоста приходит новый запрос: сервер комбинации портов отвечает с соответствующими отклик объект.

Что это подразумевает?

Вам не нужно понимать приведенный выше код полностью, чтобы понимать последствия. У нас уже есть JavaScript в интерфейсе благодаря потрясающим фреймворкам, таким как Angular и React. Наряду с этим, у нас также есть внутренние функции, встроенные в Node.js этос.

Веб-фреймворки, такие как Express.js может помочь вам написать еще более сложное приложение поверх Node.js. Получение данных из базы данных, создание API-интерфейсов и интерфейсный интерфейс - все это может быть написано на одном языке.

Сила V8

Несмотря на то, что это единый язык, еще есть чему поучиться. Разные фреймворки и модули имеют разную функциональность. Есть тонна версий, за которыми нужно следить. Есть ли другие преимущества использования Node.js экосистема.

Одним из наиболее важных аргументов в пользу этого является то, что двигатель V8 отлично поддерживает асинхронный неблокирующий ввод-вывод. Это в основном означает, что один процесс, запущенный в вашей системной памяти, может обрабатывать несколько входящих запросов. Это примерно означает, что если один запрос обрабатывается, а другой запрос приходит, Node имеет возможность начать обработку нового запроса, даже если первый запрос еще не завершен.

Более того, один процесс, запущенный в вашей памяти, отвечает за обработку всех входящих запросов. В отличие от приложений на основе PHP, которые порождают новый процесс для каждого нового входящего запроса.

Надеюсь, этого вступления было достаточно, чтобы заинтересовать вас в Node.js. Дайте знать, если вы хотите получить более подробные руководства по аналогичным темам, подписавшись на нас в Twitter, Facebook и YouTube.

Как установить League Of Legends на Ubuntu 14.04
Если вы поклонник League of Legends, то это возможность для вас протестировать League of Legends. Обратите внимание, что LOL поддерживается в PlayOnLi...
Установите последнюю версию игры OpenRA Strategy в Ubuntu Linux
OpenRA - это игровой движок Libre / Free Real Time Strategy, воссоздающий ранние игры Westwood, такие как классическая Command & Conquer: Red Alert. Р...
Установите последнюю версию эмулятора Dolphin для Gamecube и Wii в Linux
Эмулятор Dolphin позволяет вам играть в выбранные вами игры Gamecube и Wii на персональных компьютерах (ПК) Linux. Являясь свободно доступным игровым...