artem_russkikh artem_russkikh - 2 months ago 17
Javascript Question

How to get React Native packager ip from JavaScript?

Is there any way to get dynamicly React Native packager ip with port or full path to bundle -

jsCodeLocation
through JavaScript code? It can be
localhost:8081
or
192.168.0.1.xip.io:8081
. It depends on the running device - simulator or real device

Answer

I found NativeModules in ReactNative source code and discover scriptURL here:

import { NativeModules } from 'react-native';

...

const scriptURL = NativeModules.SourceCode.scriptURL;
const address = scriptURL.split('://')[1].split('/')[0];
const hostname = address.split(':')[0];
const port = address.split(':')[1];

It works on simulator and device!