请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册
首页 社区 移动 react native 怎么修改入口文件

react native 怎么修改入口文件

猿梦 2023-1-5 03:25:08
react native 怎么修改入口文件?如题,怎么让iOS和android共用一个js入口文件?4个回答答案对人有帮助,有参考价值1答案没帮助,是错误的答案,答非所问表示这个需求有点奇怪,为什么需要让 iOS 和 Android 公用同一个入口文件呢?即便重复的东西很多,也可以建一个公用的 js 然后在 index.ios.js 和 index.android.js 里都引入它。如果非要更改这个入口文件的话,你可以在项目里全局的搜索一下 index.ios 和 index.android, 看看它们的加载流程,比如说 index.ios 就在 AppDelegate.m 里用到了:jsCodeLocation = [NSURL URLWithString:[NSString stringWithFormat"http://%@:8081/index.ios.bundle?platform=ios&dev=true", ip]];你可以尝试去改一改,让它从别的地方加载。 但是总体上还是建议不要这样折腾,以后版本升级之类的时候,给自己填堵。看图:RN 本来就是一次开发两个平台,合并入口文件很正常。以最新的0.31为例直接上正确答案:IOS[[RCTBundleURLProvider sharedSettings] setDefaults];jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot"/rn/app" fallbackResource:nil];RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocationmoduleName"Demo"initialProperties:nillaunchOptions:launchOptions];其中@"/rn/app"就是相对 RN 根目录的入口文件,@"Demo"是你注册的应用名。android:复写getJSMainModuleName方法就行private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {@Overrideprotected boolean getUseDeveloperSupport() {return BuildConfig.DEBUG;}@Overrideprotected String getJSMainModuleName() {return "rn/app";}};_rnRoot_/rn/app.js 就是你的入口文件,如上例随便你改

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册