Test Localhost on Mobile Device
Here's how to test localhost on your mobile device via ngrok.
Scenario
You have a website that you've been developing on your desktop, and it looks great. And you've been using the device toolbar in browser devtools to test on mobile-sized screens. But it's just not the same. You want to flick the glass with your finger. You want to see what horrors mobile Safari has inflicted on your designs.
Conceptually, you want to be able to go to http://localhost:3000 on your phone and see your website.
Solution
To do that, you need a network tunnel, where your localhost is exposed beyond your computer. You can address it from the Internet and thus anything with a web browser.
First, start your local server on your computer as normal:
clj -M:server # or whatever your command isNow your app is running on localhost:3000.
Next, you need a tunnel tool. Enter, ngrok. Go to the site and sign up for a free account.
Then go to the ngrok /get-started/your-authtoken page. Copy your token value. Let's say it's abc123. Now configure your local ngrok with this token:
npx ngrok config add-authtoken abc123As the final step, you now run ngrok against the port of your local server:
npx ngrok http 3000This will take over your terminal window and give you some information output, including a line like this:
Forwarding https://3159-38-109-229-215.ngrok-free.app -> http://localhost:3000Now, if you go to that ngrok-free.app address:
xdg-open https://3159-38-109-229-215.ngrok-free.appYou will indicate that, "Yes", you really want to see your site, and then, magically, you'll see localhost on the Internet.