基于环境分叉jsCodeLocation的最佳实践

Posted

技术标签:

【中文标题】基于环境分叉jsCodeLocation的最佳实践【英文标题】:Best Practice for forking jsCodeLocation based on environment 【发布时间】:2017-07-31 15:36:30 【问题描述】:

我希望能够在本地或应用商店上运行我的 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)这样的事情来真正分叉这个?

【问题讨论】:

【参考方案1】:

选择项目->选择“构建设置”->搜索“预处理器宏”->定义宏,如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的最佳实践的主要内容,如果未能解决你的问题,请参考以下文章

混合云环境下基于 Zabbix 的监控系统解决方案 | 最佳实践

在 C 中等待子进程终止的最佳实践

金融行业基于服务器通过Ceph实现分布式存储,如何选型设计及运维?| 最佳实践

HTTPS环境使用第三方CDN的证书难题与最佳实践 | 高可用CDN架构详解

51CTO视频课程上线:如何快速搭建IT试验环境?-VMWare Workstations 最佳实践

Virtualenv or Anaconda?Python虚拟环境最佳实践