【问题标题】:Front-end/ReactJs environment based configuration [closed]基于前端/ReactJs 环境的配置
【发布时间】:2018-07-10 19:43:53
【问题描述】:

为前端/reactjs 客户端指定配置的好方法是什么?后端使用 Spring Boot,并且知道它运行的环境。

我希望前端根据当前环境(dev/uat/prod)有不同的设置。你会为此创建一个 REST 端点吗?或者最好的做法是什么?

谢谢!

【问题讨论】:

    标签: reactjs spring-boot configuration frontend


    【解决方案1】:

    我使用dotenv 来处理不同环境的不同配置。

    想法是在 .env 文件中定义所有这些配置,然后 dotenv 将创建您可以在构建管道中访问的环境变量,例如,您可以有配置来设置该构建的 API 端点,或者第三方服务的公钥。

    这就是您定义.env 文件的方式:

    API_URL=http://test.api.somedomain.com/v1
    FACEBOOK_ID=12345
    

    这就是您在构建应用程序时访问这些值的方式。

    const endpoint = process.env.API_URL;
    const facebookId = process.env.FACEBOOK_ID;
    

    同样,您将在使用 webpack、gulp、grunt 或任何其他构建工具构建应用程序时这样做。

    【讨论】:

    • 感谢 Crysfel,是的,我正在使用 webpack 构建应用程序。所以无论我在后端使用什么,这都应该有效吗?
    • 正确,这与后端无关。我也使用 webpack 构建我的应用程序,对于这种情况,您需要 webpack 插件,只需将其导入您的 webpack 配置文件 import Dotenv from 'dotenv-webpack'; 并将其添加到插件 plugins: [new Dotenv(), ...more plugins here...]
    • 是的,可以确认它有效。谢谢!
    • 但是如果我的构建只触发一次,但部署发生在不同的环境中。现在 Spring-boot 知道环境,而我的 React 应用程序已构建并转储到目标/类/静态中。现在 react 应用程序如何在部署期间访问不同的 env 值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-24
    • 2019-05-22
    • 2014-09-01
    • 2019-07-02
    • 2017-08-30
    • 1970-01-01
    相关资源
    最近更新 更多