React JS - 从外部属性文件读取环境配置

问题:我是新手React JS,正在寻找从外部属性文件读取环境配置的选项。这个问题对于我的一位客户来说更具体,他希望有一个选项来动态更改环境文件。例如,hostname/port只要有变化就动态更改。构建过程不属于我的客户。我创建了一个缩小的最终包,我的客户将其部署在tomcat/web server.

尝试的解决方案:通过一些读数,我已经为不同的环境配置了 .env 文件,并且能够成功地从这些文件中读取配置。但是,这些更多的是构建过程环境文件。而且,我试图找到一种方法,在我的包创建后从外部源读取配置。

可能的解决方案:这是我能想到的一种可能的方法-

使用诸如“properties-reader”之类的库读取外部属性文件。我将提供属性文件作为我的发布包(即构建文件夹)的一部分。我的客户可以在需要时更改此属性文件。

请建议这是正确的方法还是有更好的解决方案?


ABOUTYOU
浏览 295回答 2
2回答

喵喵时光机

一个对我有用的解决方案!!1)在反应项目的公共文件夹中创建一个“config.js”文件。“config.js”文件的示例内容 -window.env = {&nbsp; API_DOMAIN_ADDR: "http://localhost:8080"};2) 参考 index.html 中的“config.js”文件。index.html 的代码将是 -<body>&nbsp; &nbsp; <div id="root"></div>&nbsp; &nbsp; <script src="%PUBLIC_URL%/config.js"></script>&nbsp; </body>3) 现在,反应代码可以访问 config.js 文件的内容。检索 config.js 变量值的示例代码 -window.env.API_DOMAIN_ADDR在需要访问变量值的地方添加此代码。我在我的服务类中添加了这个,它正在进行 ajax 调用。

白衣非少年

我建议使用类似Firebase Realtime DB 的东西。我有一个类似的要求,将应用程序构建指向我公司的生产或开发服务器 API。为此,我们使用加载 Firebase 配置,并从那里加载用于选择主机服务器端点的 UI。好处:这使您无需每次都部署构建文件夹。这是实时的,不易出错。FirebaseDB 对于这样的小东西是免费的。第二个选项是创建两个环境文件,我看到您已经完成了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript