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

May 27, 2016 23:29

Termux

Termux - это бесплатное приложение, которое можно установить прямо из магазина Google Play. Требуется версия Android 5.0 или более поздняя. Не требует root-прав.

При открытии Termux вас приветствует интерфейс командной строки. Рекомендуется проверить наличие обновлений сразу после установки Termux. Введите следующую команду и нажмите Enter:

$ apt update

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

$ apt install coreutils



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

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



Клавиатура

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



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

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

$ apt install nodejs

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

$ node app.js



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);
});



$ node app.js

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



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.

горячие клавиши

Ctrl+A → Move cursor to the beginning of line
Ctrl+C → Abort (send SIGINT to) current process
Ctrl+D → Logout of a terminal session
Ctrl+E → Move cursor to the end of line
Ctrl+K → Delete from cursor to the end of line
Ctrl+L → Clear the terminal
Ctrl+Z → Suspend (send SIGTSTP to) current process
The Volume up key also serves as a special key to produce certain input:

Volume Up+E → Escape key
Volume Up+T → Tab key
Volume Up+1 → F1 (and Volume Up+2 → F2, etc)
Volume Up+0 → F10
Volume Up+B → Alt+B, back a word when using readline
Volume Up+F → Alt+F, forward a word when using readline
Volume Up+X → Alt+X
Volume Up+W → Up arrow key
Volume Up+A → Left arrow key
Volume Up+S → Down arrow key
Volume Up+D → Right arrow key
Volume Up+L → | (the pipe character)
Volume Up+U → _ (underscore)
Volume Up+P → Page Up
Volume Up+N → Page Down
Volume Up+. → Ctrl+\ (SIGQUIT)
Volume Up+V → Show the volume control

https://habrahabr.ru/post/301442/

javascript, npm, nodejs, android

Previous post Next post
Up