在 React Native 中为每个方案的 babel ios 捆绑包构建设置环境变量



我想为每个方案设置一个特定的环境变量,以便在 babel.config 中可用.js以便我可以打开或关闭某个插件。我怎样才能做到这一点?我已经尝试在PBXShellScriptBuildPhase阶段内设置变量,但它适用于所有方案。

您可以在Build Settings选项卡中为每个方案创建一个user defined设置,然后将其作为键包含在文件中Info.plist。然后创建头文件和实现文件以将此变量导出到本机端。这样

// RNConfig.h
#import <React/RCTBridgeModule.h>
@interface RNConfig : NSObject <RCTBridgeModule>
@end
// RNConfig.m

#import "RNConfig.h"
@implementation RNConfig
RCT_EXPORT_MODULE();
- (NSDictionary *)constantsToExport
{
NSString* custom_val = [[[NSBundle mainBundle] infoDictionary] valueForKey:@"YOUR_CUSTOM_VALUE"];
return @{@"custom": buildEnvironment };
}
@end

然后,您可以从本机模块导入配置

作为
const { RNConfig } = NativeModules;

并使用 babel 配置文件中的变量

最新更新