基于环境分叉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 的监控系统解决方案 | 最佳实践
金融行业基于服务器通过Ceph实现分布式存储,如何选型设计及运维?| 最佳实践
HTTPS环境使用第三方CDN的证书难题与最佳实践 | 高可用CDN架构详解