Getting node.js and Express up and running on my... phone?

JavaScript Joel - Nov 27 '18 - - Dev Community

I installed Termux from the Play store. It's free and doesn't require root access. Sorry but if you have an iPhone, go fish.

The first thing I always do is check for updates by running these commands. If you have been away from your terminal for a while, it's good to run them again.



apt update
apt upgrade


Enter fullscreen mode Exit fullscreen mode

To extended the keyboard to give you options to keys like ESC, HOME, END, TAB, etc. Swipe from left to right to open the Termux menu and long press on the KEYBOARD word.

Termux screenshot of keyboard

Install nodejs, curl, and git. I know for sure I'll need these.



apt install nodejs curl git


Enter fullscreen mode Exit fullscreen mode

Install your favorite editor. vi is already installed, but I like nano.



pkg install nano


Enter fullscreen mode Exit fullscreen mode

Termux running nano with JavaScript source

I had to fix npm so that I could install packages globally.



nano ../usr/lib/node_modules/npm/node_modules/worker-farm/lib/farm.js


Enter fullscreen mode Exit fullscreen mode

set maxConcurrentWorkers to 1.

I always create a dev directory to keep all my projects.



mkdir dev
cd dev


Enter fullscreen mode Exit fullscreen mode

Time to give it a spin

Let's fire up an example Express app to see if this thing will go.



git clone https://github.com/joelnet/MojiScript.git
cd MojiScript/examples/express-static-files
npm ci
npm start


Enter fullscreen mode Exit fullscreen mode

Screenshot of Termux running an express app

Okay, it says it's listening on port 3000, but I have been lied to before.

Screenshot of a browser running express on Android

Awesome! Looks like it really works!

Notes

I could get n to install, but it didn't have access to /usr directory and fails. This wasn't important to me at this moment, so I didn't dig into a fix. Maybe if you know you can let me know in the comments.

Not all packages are compatible. So this isn't going to be replacing my dev machine any time soon. But it's nice to be able to tinker on the go.

Summary

I was able to get node and express up and running on my Android phone using Termux. The setup is pretty fast and straight forward. I was actually surprised at how easy this was.

I use this setup to run some quick JavaScripts when I am not around a computer. This happens more than I would like to admit.

Where should I take this next? Let me know what you would do with this setup in the comments!

I did get WarriorJS up and running too!

WarriorJS running on Termux

If you love Functional JavaScript, follow me here or on Twitter @joelnet!

Cheers!

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .