如何从JavaScript获取React Native packager ip?

时间:2016-10-07 07:00:12

标签: javascript react-native

有没有办法通过JavaScript代码动态地使用端口或完整路径进行React Native packager ip捆绑 - jsCodeLocation?它可以是localhost:8081192.168.0.1.xip.io:8081。这取决于正在运行的设备 - 模拟器或真实设备

2 个答案:

答案 0 :(得分:6)

我找到了NativeModules in ReactNative source code并在此处发现了scriptURL:

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];

它适用于模拟器和设备!

答案 1 :(得分:1)

import { NativeModules } from 'react-native';
import url from 'url';

const { hostname } = url.parse(NativeModules.SourceCode.scriptURL);