【问题标题】:Config files for different production builds React不同生产版本的配置文件 React
【发布时间】:2021-02-18 04:26:37
【问题描述】:

我有一个 React 应用程序,它将被部署为几个略有不同的单独应用程序。有些地方的文字会有所不同,API URL 可能会有所不同,语言等。

我将如何解决这个问题?我基本上希望能够构建一次,并且应用程序可以从位于构建文件夹中的配置文件更改其功能......这可能吗?或者有没有其他我没有想到的方法来解决这个问题?

【问题讨论】:

    标签: reactjs environment-variables runtime config dev-to-production


    【解决方案1】:

    您可以使用 config.json 文件并将所有更改存储在那里,您可能会有类似的内容:

    环境

    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()
    }
    

    【讨论】:

    • 谢谢,这仍然需要我用不同的 APP_ID 构建它 4 次,但对吗?因为它无法在运行时读取环境变量?
    • 是的,正确,那么可能不是让 APP_ID 来自 env 文件,而是应该来自位于公共文件夹中的配置文件,这样您就可以更改相应的文件构建并期望您的应用读取该文件
    • 谢谢!这就是我所做的:) 我在 index.html 中添加了一个配置文件和 。感谢您的帮助,非常感谢!
    猜你喜欢
    • 2020-11-24
    • 2012-05-12
    • 1970-01-01
    • 2019-06-24
    • 2016-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-22
    相关资源
    最近更新 更多