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