Поиск по сайту:

Как написать свое первое приложение Node.js в Linux


Тенденции веб-разработки кардинально изменились за последние несколько лет, и веб-разработчику, чтобы быть на вершине успеха, важно быть в курсе новейших технологий.

JavaScript – это популярный в настоящее время язык программирования; это, без сомнения, самая популярная технология, используемая разработчиками полного стека.

Веб-фреймворки JavaScript стали волшебным решением для ускорения веб-разработки с абсолютной эффективностью, безопасностью и минимальными затратами. Я совершенно уверен, что вы слышали о Node JavaScript (обычно называемом Node.js или просто Node), о нем много говорят. в Интернете.

В этой статье я покажу вам, как начать разработку приложений на JavaScript с использованием Node.js в Linux. Но сначала давайте кратко познакомимся с Node.js.

Что такое Node.js?

Node.js — это легкая и эффективная среда выполнения JavaScript с открытым исходным кодом, созданная на базе JavaScript-движка Chrome V8. Он разработан без потоков (однопоточный) и имеет реализацию, аналогичную Twisted, сетевому движку, созданному с использованием Python или Event Machine, библиотеки обработки событий для программ Ruby.

Сердце Node.js основано на программировании, управляемом событиями; поэтому программист должен понимать, какие события доступны и как на них реагировать.

Управление пакетами в Node.js

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

Почему Node.js важен?

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

  • Он использует асинхронную, управляемую событиями, неблокирующую модель выполнения ввода-вывода, которая повышает пропускную способность приложения и поддерживает масштабируемость для реальных веб-приложений.
  • Он однопоточный, поэтому в любой момент времени может использовать только 1 процессор.
  • Веб-приложение node.js — это полноценный веб-сервер, например Nginx или Apache.
  • Он поддерживает потоки через API child_process.fork() для создания дочерних процессов, а также предлагает модуль кластера.

После этого краткого введения вы, должно быть, захотите написать свою первую программу на JavaScript. Однако обо всем по порядку: вам необходимо установить пакеты Node.js и NPM в вашей системе Linux, используя следующее руководство.

  1. Установите последнюю версию Nodejs и NPM в системах Linux

Как создать свое первое приложение Node.js в Linux

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

sudo mkdir -p /var/www/myapp

Затем перейдите в этот каталог и создайте файл package.json для своего приложения. Этот файл служит небольшой документацией для вашего проекта: название проекта, автор, список пакетов, от которых он зависит, и так далее.

cd /var/www/myapp
npm init

Вам будет задано несколько вопросов. Просто ответьте, как описано ниже, и нажмите [Enter]. Обратите внимание, что наиболее важными элементами в package.json являются поля имени и версии, как описано ниже.

  • имя пакета – имя вашего приложения, по умолчанию соответствует имени каталога.
  • версия – версия вашего приложения.
  • description – напишите краткое описание вашего приложения.
  • точка входа – устанавливает файл пакетов по умолчанию для выполнения.
  • команда тестирования – используется для создания тестового сценария (по умолчанию пустой сценарий).
  • git-репозиторий – определите Git-репозиторий (если он у вас есть).
  • ключевые слова — задайте ключевые слова, которые помогут другим пользователям идентифицировать ваш пакет в npm.
  • автор – указывает имя автора, укажите здесь свое имя.
  • лицензия – укажите лицензию для вашего приложения/пакета.

Затем создайте файл server.js.

sudo vi server.js

Скопируйте и вставьте в него код ниже.

var http = require('http');
http.createServer(function(req,res){
        res.writeHead(200, { 'Content-Type': 'text/plain' });
        res.end('Hello World!');
}).listen(3333);
console.log('Server started on localhost:3333; press Ctrl-C to terminate...!');

Затем запустите приложение, используя следующую команду.

node server.js
OR
npm start

Затем откройте веб-браузер и получите доступ к своему веб-приложению, которое ничего не делает, кроме вывода строки «Привет, мир!» ”, используя адрес:

http://localhost:3333

В приведенном выше коде основное обрабатываемое событие — это HTTP запрос через HTTP-модуль.

HTTP-модуль Nodejs

В Node.js модули больше похожи на библиотеки JavaScript. Они содержат функции, которые вы можете повторно использовать в своем приложении. Вы можете использовать встроенные модули, тридцать партийных модулей или создать свои собственные.

Чтобы вызвать модули в вашем приложении, используйте функцию require, как показано.

var http = require('http');

После включения модуля http он создаст сервер, который прослушивает определенный порт (в данном примере 3333). Метод http.creatServer создает фактический http-сервер, который принимает функцию (которая вызывается, когда клиент пытается получить доступ к приложению) в качестве аргумента.

http.createServer(function(req,res){
        res.writeHead(200, { 'Content-Type': 'text/plain' });
        res.end('Hello World!');
}).listen(3333);

Функция в http.createServer имеет два аргумента: req(request) и res(response). Аргумент req — это запрос от пользователя или клиента, а аргумент res отправляет ответ клиенту.

res.writeHead(200, { 'Content-Type': 'text/plain' });		#This is a response HTTP header
res.end('Hello World!');

Последняя часть кода отправляет выходные данные на консоль после запуска сервера.

console.log('Server started on localhost:3333; press Ctrl-C to terminate...!');

Маршрутизация в Node.js

В этом разделе я объясню одну из наиболее важных концепций программирования Node.js, известную как маршрутизация (сравнимо с маршрутизацией в компьютерных сетях: процесс поиска пути для трафика). в сети).

Здесь маршрутизация – это метод обработки запроса клиента; предоставление контента, запрошенного клиентом, как указано в URL-адресе. URL-адрес состоит из пути и строки запроса.

Чтобы просмотреть строку запроса запроса клиента, мы можем добавить строки ниже в наш ответ.

res.write(req.url);
res.end()

Ниже приведен новый код.

var http = require('http');
http.createServer(function(req,res){
        res.writeHead(200, { 'Content-Type': 'text/plain' });
        res.write(req.url);
      res.end();		
      }).listen(3333);
console.log('Server started on localhost:3333; press Ctrl-C to terminate...!');

Сохраните файл и снова запустите приложение, используя следующую команду.

node server.js
OR
npm start

В веб-браузере введите разные URL-адреса, которые будут отображаться, как показано ниже.

http://localhost:3333
http://localhost:3333/about
http://localhost:3333/tecmint/authors

Теперь мы создадим очень небольшой веб-сайт для Tecmint с домашней страницей, страницами о программе и авторами. На этих страницах мы будем отображать некоторую информацию.

Откройте файл server.js для редактирования и добавьте в него приведенный ниже код.

//include http module 
var http = require('http');

http.createServer(function(req,res){
	//store URL in variable q_string

	var q_string = req.url;
	switch(q_string) {
		case '/':
                        	res.writeHead(200, { 'Content-Type': 'text/plain' });
                        	res.write('Welcome To linux-console.net!')
                        	res.end();
                        	break;
                	case '/about':
                		res.writeHead(200, { 'Content-Type': 'text/plain' });
                        	res.write('About Us');
                        	res.write('\n\n');
                        	res.write('linux-console.net - Best Linux HowTos on the Web.');
                        	res.write('\n');
                        	res.end('Find out more: https://linux-console.net/who-we-are/');
                        	break;
                	case '/tecmint/authors':
                        	res.writeHead(200, { 'Content-Type': 'text/plain' });
                        	res.write('Tecmint Authors');
                        	res.write('\n\n');
                        	res.end('Find all our authors here: https://linux-console.net/who-we-are/');
                        	break;
                	default:
                       		res.writeHead(404, { 'Content-Type': 'text/plain' });
                       		res.end('Not Found');
                        	break;
	}
}).listen(3333);
console.log('Server started on localhost:3333; press Ctrl-C to terminate....');

В приведенном выше коде мы увидели, как писать комментарии в Node.js с использованием символов //, а также представили операторы переключения и случая для маршрутизации клиентских запросов.

Сохраните файл, запустите сервер и попробуйте получить доступ к различным страницам.

На этом всё! Дополнительную информацию можно найти на веб-сайтах Nodejs и NPM.

Читайте также: как установить PM2 для запуска приложений Node.js в Linux

Заключение

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

Далее мы объясним фреймворки Node.js, которые расширяют его собственные возможности для быстрой и надежной разработки веб-/мобильных приложений. Поделитесь своими мыслями об этой статье в разделе комментариев ниже.