扫码关注官方订阅号
如题,怎么让iOS和android共用一个js入口文件?
ringa_lee
RN 本来就是一次开发两个平台,合并入口文件很正常。以最新的0.31为例直接上正确答案:
IOS
[[RCTBundleURLProvider sharedSettings] setDefaults]; jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"/rn/app" fallbackResource:nil]; RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation moduleName:@"Demo" initialProperties:nil launchOptions:launchOptions];
其中@"/rn/app"就是相对 RN 根目录的入口文件,@"Demo"是你注册的应用名。
@"/rn/app"
@"Demo"
android: 复写getJSMainModuleName方法就行
getJSMainModuleName
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) { @Override protected boolean getUseDeveloperSupport() { return BuildConfig.DEBUG; } @Override protected String getJSMainModuleName() { return "rn/app"; } };
_rnRoot_/rn/app.js 就是你的入口文件,如上例随便你改
_rnRoot_/rn/app.js
楼主解决了吗?
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
RN 本来就是一次开发两个平台,合并入口文件很正常。
以最新的0.31为例
直接上正确答案:
IOS
其中
@"/rn/app"就是相对 RN 根目录的入口文件,@"Demo"是你注册的应用名。android:
复写
getJSMainModuleName方法就行_rnRoot_/rn/app.js就是你的入口文件,如上例随便你改楼主解决了吗?