我面临将系统 ENV 传递给 JS 应用程序的问题,它是 Spring Boot 应用程序的内部部分:子项目,在构建期间进行处理,然后传递给 Java 应用程序的元数据。 一切正常,除了 ENV 变量完全不影响 JS 应用程序。在 Java 方面,一切都很好,但无论我用什么来操纵系统环境,它都不起作用。我试过:
- 将其导出为用户的环境
- 将其作为参数添加到应用程序:
java -DENV_NAME=abcd app.jar
- 创建 .env 文件
您是否遇到过同样的问题并找到了可行的解决方案?
这里还有一个重要的注意事项:对于 JS 构建过程,我正在使用 parcel
我想要的状态是,当我更改 ENV 时,在 .jar 中运行并运行的 JS 可以对此更改使用react(例如凭据)
最佳答案
好的,在我们公司进行了一些头脑 Storm 之后,我们选择了一些看起来不错的选项。
因此,要传递选择的系统变量,选项是使用包含所需变量的 .json
资源在 Controller 和操作中公开它们。然后,只需读取脚本开头某处的 //somename.json
资源,就可以将它们包含在前端 JS 应用程序中。
现在是时候给出原因了:
- Java 应用程序和 JS 应用程序从相同的单个
.jar
文件开始,因此从 JS 可见的默认主机与 Java 相同。 .json
只包含数据,很容易明确选择那些应该公开的变量- 解决方案易于实现
希望对大家有帮助
关于javascript - 带有内部 React 的 Spring Boot - 以正确的方式传递 ENV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62912916/