我正在使用基于React的前端UI编写一个Client / Server应用程序。作为后端Unix开发人员,Web技术并不是我的专长,因此这对我来说是全新的。
我需要能够将UI配置为指向服务器的URL并设置其他首选项。典型的反应方法似乎是使用.env环境变量。但是,按照此链接: multiple-environments-with-react ““环境变量”将在构建时生成”。这对我来说不起作用,因为该应用程序是OEM产品,将出售给愿意根据自己的环境对其进行配置的客户。我在构建时不知道他们的服务器URL,所以我需要一种方法,可以将预构建的(缩小的/掉毛的)JS交付给它们在单个存档中,并让他们编辑某种属性文件以对其进行配置他们的需求。
对于这种用例,一般的JavaScript / React最佳实践是什么?
谢谢
特洛伊
答案 0 :(得分:0)
对我来说,最简单的解决方案是在index.html中包含一个标记。在NPM构建期间,这会变得最小,但不会与其他javascript捆绑在一起,因此可以在部署时轻松地将其替换为另一个文件。我的config.js看起来像这样:
config = {
"title": "Application Title",
"envName": "LocalDev",
"URL": "localhost:8090"
}
然后在我的react组件内部,可以使用以下命令访问它们:
const config = window.config;
alert("Application branding title is: " + config.title);
我现在将为每个环境(config.js.dev,config.js.uat,config.js.prod等)提供各种config.js文件,在部署时,我将链接或重新配置相应的config.js文件。 js。