Skip to content

rn 原理一探究竟

技术架构

1620895343772-116eea86-1bb0-4300-9022-ed7a1a194916.png

跨平台、热更新

debug 模式

在debug模式下,RN app是从本地的packager server加载js代码的,加载的地址如下:


iOS:       [http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false](http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false)

Android: [http://localhost:8081/index.bundle?platform=android&dev=true&minify=false](http://localhost:8081/index.bundle?platform=android&dev=true&minify=false)

iOS - AppDelegate.m

cpp
- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
{
#if DEBUG
  return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
#else
  return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
#endif
}

rn 加载机制

更新: 2021-05-13 17:00:19
原文: https://www.yuque.com/u3641/dxlfpu/tra62q