- PVSM.RU - https://www.pvsm.ru -

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

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

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

Termux

Termux — это бесплатное приложение, которое можно установить прямо из магазина Google Play [1]. Требуется версия 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 [2], чтобы обеспечить сохранение данных во внешнем хранилище (например на SD-карте).

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

Клавиатура

В этот момент вы скорее всего почувствуете некоторые проблемы при работе в консоли с сенсорной клавиатурой. Чтобы обойти их, я установил хакерскую клавиатуру из Google play [3]. Это сенсорная клавиатура, которая может использоваться вместо стандартной и имеет все необходимое для написания кода — 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/ [4] в браузере, то увидите на странице следующий текст:
Запуск 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 [5] или довольствоваться чем-то вроде NeDB [6].

См. также:

Building a Node.js application on Android [7]
Termux is the ONE for Android [8]

Автор: zapolnoch

Источник [9]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/javascript/121371

Ссылки в тексте:

[1] Google Play: https://play.google.com/store/apps/details?id=com.termux

[2] termux-setup-storage: https://termux.com/storage.html

[3] Google play: https://play.google.com/store/apps/details?id=org.pocketworkstation.pckeyboard

[4] http://localhost:8080/: http://localhost:8080/

[5] MongoLab: https://mlab.com/

[6] NeDB: https://github.com/louischatriot/nedb

[7] Building a Node.js application on Android: https://medium.freecodecamp.com/building-a-node-js-application-on-android-part-1-termux-vim-and-node-js-dfa90c28958f

[8] Termux is the ONE for Android: http://blog.ataboydesign.com/2015/12/01/termux-is-the-one-for-android/

[9] Источник: https://habrahabr.ru/post/301442/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best