Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在react本机移动应用程序中编写环境条件的最佳方法?_Javascript_Android_Ios_React Native_Testflight - Fatal编程技术网

Javascript 在react本机移动应用程序中编写环境条件的最佳方法?

Javascript 在react本机移动应用程序中编写环境条件的最佳方法?,javascript,android,ios,react-native,testflight,Javascript,Android,Ios,React Native,Testflight,我们有两个环境,测试,和生产 我们在两种不同的场景中使用测试;在本地设备上,以及当我们的应用程序部署到TestFlight供远程用户测试时 我们在config.js文件中手动区分两个域: const domain = 'testing-server.herokuapp.com'; // 'actualWebsite.com'; 因此,一旦一切就绪,我们将站点更改为actualWebsite.com并部署。但是有没有办法让这个ENV知道,这样它就知道它在生产中,因此会自动指向actualWebs

我们有两个环境,
测试
,和
生产

我们在两种不同的场景中使用
测试
;在本地设备上,以及当我们的应用程序部署到TestFlight供远程用户测试时

我们在
config.js
文件中手动区分两个域:

const domain = 'testing-server.herokuapp.com'; // 'actualWebsite.com';
因此,一旦一切就绪,我们将站点更改为
actualWebsite.com
并部署。但是有没有办法让这个ENV知道,这样它就知道它在生产中,因此会自动指向
actualWebsite.com
,如果它在TestFlight或本地,它会自动使用
testing server.herokuapp.com

const domain = process.env.NODE_ENV === 'development' ? 'testing-server.herokuapp.com' : 'actualWebsite.com';
或者,您可以将
安装并声明为环境变量,并在构建工具中设置不同的环境变量值


是另一种选择。

您的测试是在NODE_ENV中设置的还是如何设置的?
过程。ENV.NODE_ENV
不会区分TestFlight和Production@trip然后呢?如果您真的需要,您可以创建一个本机模块并将其连接到RN以检查TestFlight。请参见,您还可以在TestFlight的build命令中设置
process.env
,但这意味着您必须为生产重新构建它(而不是仅仅将它从TestFlight移动到生产),这不是一个很好的主意。