React-Native|React-Native 打包记录

网上RN项目的离线打包教程如下:
RN项目的离线打包(ios) -
【React-Native|React-Native 打包记录】但是这样打出来的的api文件会有2个assets资源文件


React-Native|React-Native 打包记录
文章图片
图1 React-Native|React-Native 打包记录
文章图片
图2 这样两个assets里面的资源都是一样的,导致api文件会大好多。下面是解决方法


React-Native|React-Native 打包记录
文章图片
图3 只要把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
只要将上面那句替换成下面这句就行了。
}


React-Native|React-Native 打包记录
文章图片
图4


React-Native|React-Native 打包记录
文章图片
图5


React-Native|React-Native 打包记录
文章图片
图6 如果项目中没有main.jsbundle下面链接是生存方法
RN-生成 main.jsbundle -
在此记录一下。

    推荐阅读