Reactjs 在react redux应用程序中,应将特定于环境的设置存储在何处

Reactjs 在react redux应用程序中,应将特定于环境的设置存储在何处,reactjs,redux,redux-saga,Reactjs,Redux,Redux Saga,注意:对于新概念,请不要忽略任何有问题的概念错误,请纠正我 我正在使用react和redux构建一个应用程序。我从初学者工具包开始,并取得了一些进展。现在,当我需要调用我的api时,我不确定应该在哪里维护我的api url和其他配置w.r.t环境 假设我有一个包含api.js的服务文件夹,这是导出api函数的模块。我从redux saga真实世界示例应用程序中获得了一些灵感。但是我的开发人员上的API url将与生产或登台上的API url不同。所以我不能就这么说 const API_ROOT

注意:对于新概念,请不要忽略任何有问题的概念错误,请纠正我

我正在使用react和redux构建一个应用程序。我从初学者工具包开始,并取得了一些进展。现在,当我需要调用我的api时,我不确定应该在哪里维护我的api url和其他配置w.r.t环境

假设我有一个包含api.js的服务文件夹,这是导出api函数的模块。我从redux saga真实世界示例应用程序中获得了一些灵感。但是我的开发人员上的API url将与生产或登台上的API url不同。所以我不能就这么说

const API_ROOT = 'http://localhost:5000'; 
我有两个webpack config文件,分别是
webpack.config.dev.js
webpack.config.prod.js
,但我不确定这些文件是否应该包含我的配置


还是应该在我的redux商店中作为初始状态?或者它应该是构建过程的一部分,其中URL被替换为特定环境的URL

我以前使用过的一个选项是构建过程的一部分。从应用程序中的某个配置文件中引用API url,并在构建管道期间使用正确的url填充/覆盖此配置(这可能基于节点参数,例如npm run build--env='dev')。我支持@TMitchell关于利用构建过程来指定配置的建议。但是,我会使用
newwebpack.DefinePlugin({API\u ROOT:JSON.stringify('http://localhost:5000“)})
,因此您可以为每个环境指定不同的值。我以前使用过的一个选项是构建过程的一部分。从应用程序中的某个配置文件中引用API url,并在构建管道期间使用正确的url填充/覆盖此配置(这可能基于节点参数,例如npm run build--env='dev')。我支持@TMitchell关于利用构建过程来指定配置的建议。但是,我会使用
newwebpack.DefinePlugin({API\u ROOT:JSON.stringify('http://localhost:5000“)})
,因此您可以为每个环境指定不同的值。