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

Termux — это бесплатное приложение, которое можно установить прямо из магазина Google Play [1]. Требуется версия Android 5.0 или более поздняя. При открытии Termux, вас приветствует интерфейс командной строки. Рекомендуется проверить наличие обновлений сразу после установки Termux. Введите следующую команду и нажмите Enter:
$ apt update
Termux поставляется в минимальной базовой комплектации, так что вы должны установить coreutils для полноценного использования команд командной строки, таких как mv, ls и др.
$ apt install coreutils

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

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

Для написания кода нам понадобится любой текстовый редактор доступный в консоли. Вы можете установить 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. Сделать это очень просто:
$ apt install nodejs
Теперь мы можем наконец запустить наш скрипт:
$ node app.js

Вместе с 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);
});

$ node app.js
Это должно вывести в консоль номер порта по которому отвечает сервер. Если вы откроете http://localhost:8080/ [4] в браузере, то увидите на странице следующий текст:

Чтобы избежать перезагрузки сервера вручную каждый раз при изменении файла app.js мы можем установить nodemon. Nodemon это утилита, которая будет отслеживать изменения в вашем коде и автоматически перезапустить сервер.
$ npm install nodemon --save-dev
Теперь вы можете запустить сервер с помощью команды nodemon вместо node:
$ nodemon app.js
Даже с хакерской клавиатурой, писать код на сенсорном экране не очень удобно. Скорее всего вы пишите свой код в гораздо более удобных местах и храните его в репозитории. Установим git:
$ apt install git
Теперь вы можете запускать git команды вроде git push, git pull и т.д. без каких-либо ошибок.
К сожалению, у меня не получилось запустить 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
Нажмите здесь для печати.