网上RN项目的离线打包教程如下:
但是这样打出来的的api文件会有2个assets资源文件


这样两个assets里面的资源都是一样的,导致api文件会大好多。下面是解决方法

只要把main.jsbundle替换index.ios.jsbundle就行了
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSURL *jsCodeLocation;
#ifdef DEBUG
//开发包
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
#else
//离线包
//jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"bundle/index.ios" withExtension:@"jsbundle"];
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
#endif
只要将上面那句替换成下面这句就行了。
}



如果项目中没有main.jsbundle下面链接是生存方法
在此记录一下。
网友评论