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