基于环境分叉 jsCodeLocation 的最佳实践
Best Practice for forking jsCodeLocation based on environment
我希望能够 运行 在本地或应用商店中使用我的 React-Native 应用程序。
目前我有两条线路:
// jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
我会酌情评论或取消评论。是否可以做类似 if process.end.NODE_ENV === production
的事情(除了适合 Objective C/iOS)以便真正分叉这个?
Select 项目-> Select "Build Settings" -> 搜索 "Preprocessor Macros" -> 定义宏,如 STATE_DEVELOPMENT = 0 或 1。
在 Release 部分定义 STATE_DEVELOPMENT = 0,在 Debug 部分定义 STATE_DEVELOPMENT = 1.
#if STATE_DEVELOPMENT
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];
#else
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
#endif
我希望能够 运行 在本地或应用商店中使用我的 React-Native 应用程序。
目前我有两条线路:
// jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
我会酌情评论或取消评论。是否可以做类似 if process.end.NODE_ENV === production
的事情(除了适合 Objective C/iOS)以便真正分叉这个?
Select 项目-> Select "Build Settings" -> 搜索 "Preprocessor Macros" -> 定义宏,如 STATE_DEVELOPMENT = 0 或 1。
在 Release 部分定义 STATE_DEVELOPMENT = 0,在 Debug 部分定义 STATE_DEVELOPMENT = 1.
#if STATE_DEVELOPMENT
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];
#else
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
#endif