Запуск NodeJS-приложения на Android

в 9:25, , рубрики: android, expressjs, javascript, node.js, троллейбус из хлеба

Без сомнения, вам понравится запускать NodeJS на своем Android-устройстве. Благодаря эмулятору терминала и Linux-окружения для Android, разработка веб-приложений на смартфоне перестанет быть для вас проблемой.

Запуск NodeJS-приложения на Android - 1

Termux

Termux — это бесплатное приложение, которое можно установить прямо из магазина Google Play. Требуется версия Android 5.0 или более поздняя. При открытии Termux, вас приветствует интерфейс командной строки. Рекомендуется проверить наличие обновлений сразу после установки Termux. Введите следующую команду и нажмите Enter:

$ apt update

Termux поставляется в минимальной базовой комплектации, так что вы должны установить coreutils для полноценного использования команд командной строки, таких как mv, ls и др.

$ apt install coreutils

Запуск NodeJS-приложения на Android - 2
Termux хранит данные в собственном хранилище данных, т.е. папка $HOME находится внутри частной области Termux, как у обычного Android приложение. Удаление Termux вызовет потерю этих данных. Если вы собираетесь хранить там важные файлы, то используйте termux-setup-storage, чтобы обеспечить сохранение данных во внешнем хранилище (например на SD-карте).

Итак, давайте создадим папку для нашего приложения и перейдем в этот каталог:
Запуск NodeJS-приложения на Android - 3

Клавиатура

В этот момент вы скорее всего почувствуете некоторые проблемы при работе в консоли с сенсорной клавиатурой. Чтобы обойти их, я установил хакерскую клавиатуру из Google play. Это сенсорная клавиатура, которая может использоваться вместо стандартной и имеет все необходимое для написания кода — Esc, Tab и клавиши со стрелками.
Запуск NodeJS-приложения на Android - 4

Nano

Для написания кода нам понадобится любой текстовый редактор доступный в консоли. Вы можете установить Emacs или Vim, но для простоты можно использовать nano. Установим его:

$ apt install nano

Создадим файл app.js и откроем его в редакторе:

$ touch app.js 
$ nano app.js

Напишем какой-нибудь простой NodeJS-код для проверки:

console.log('NodeJS running on Android');

Чтобы выйти из nano, нужно нажать Ctrl+X, написать 'yes' и нажать Enter.
Запуск NodeJS-приложения на Android - 5

NodeJS

Теперь самое время установить NodeJS. Сделать это очень просто:

$ apt install nodejs

Теперь мы можем наконец запустить наш скрипт:

$ node app.js

Запуск NodeJS-приложения на Android - 6

Express

Вместе с NodeJS нам доступен пакетный менеджер npm. Давайте воспользуемся им:

$ npm init
$ npm install express --save
$ nano app.js

Откроем app.js и напишем/скопи-пастим туда следующий код:

var express = require('express'),
    app = express(),
    port = Number(process.env.PORT || 8080);

app.get('/', function(req, res) {
   res.send('Express is working');
});

app.listen(port, function() {
   console.log('Listening on port ' + port);
});

Запуск NodeJS-приложения на Android - 7

$ node app.js

Это должно вывести в консоль номер порта по которому отвечает сервер. Если вы откроете http://localhost:8080/ в браузере, то увидите на странице следующий текст:
Запуск NodeJS-приложения на Android - 8

Nodemon

Чтобы избежать перезагрузки сервера вручную каждый раз при изменении файла app.js мы можем установить nodemon. Nodemon это утилита, которая будет отслеживать изменения в вашем коде и автоматически перезапустить сервер.

$ npm install nodemon --save-dev

Теперь вы можете запустить сервер с помощью команды nodemon вместо node:

$ nodemon app.js

Git

Даже с хакерской клавиатурой, писать код на сенсорном экране не очень удобно. Скорее всего вы пишите свой код в гораздо более удобных местах и храните его в репозитории. Установим git:

$ apt install git

Теперь вы можете запускать git команды вроде git push, git pull и т.д. без каких-либо ошибок.

MongoDB

К сожалению, у меня не получилось запустить MongoDB-сервер на Android. В качестве альтернативы можно использовать облачные сервисы, типа MongoLab или довольствоваться чем-то вроде NeDB.

См. также:

Building a Node.js application on Android
Termux is the ONE for Android

Автор: zapolnoch

Источник

Поделиться новостью

* - обязательные к заполнению поля