问题描述
我有一个React App,它将作为几个单独的应用程序进行部署,这些应用程序之间的差异会很小。某些地方的某些文本可能有所不同,API URL可能有所不同,语言等等。
我将如何解决这个问题?我基本上希望能够构建一次,并且应用程序可以通过位于构建文件夹中的配置文件来更改其功能...这可能吗?还是有其他我没有想到的解决方法?
解决方法
您可以使用config.json文件并将所有更改存储在那里,您可能会有类似的内容:
ENV
REACT_APP_ID=APP_1
config.json
APP_1: { name: 'app one',lang: '/path/to/lang',api_basepath: 'path/to/api' }
,然后在代码中使用类似
的代码import conf from './conf.json';
const useConfigData = key => conf[process.env.REACT_APP_ID][key]
const api = useConfigData('api_basepath');
const myFetch = () => {
fetch(`${api}/some_endpoint`).then()
}