如何在为 node js 项目提供服务时提供环境变量?

问题描述

我使用 "create-react-app" 创建了一个 React js 应用程序。

在我的 App.js 代码中,我正在访问环境变量,例如:

console.log('ucm host port',process.env.REACT_APP_API_HOST,process.env.REACT_APP_API_PORT); //Point-1

在我的开发环境中,当我通过执行以下命令运行我的应用程序时

sudo REACT_APP_API_HOST=localhost REACT_APP_API_PORT=5050 npm start

我可以在我的 App.js 代码的“Point-1”处访问这些运行时提供的环境变量值, 现在我想通过 App/Project 构建和打包,所以我做到了

sudo npm run build

我得到了我的项目的“build”目录,我可以通过执行以下命令将其分发到其他服务器/团队并访问我的网页(App.js)

sudo serve -s build

但是当我将“build”文件夹分发给其他团队时,我想在“serve”命令期间更改环境变量值,例如

sudo REACT_APP_API_HOST=someOther_host REACT_APP_API_PORT=9090 serve -s build

但是当我这样做时,我无法在代码的“point-1”处访问这些新值。 如何在“服务”命令期间为我的代码提供环境值?

注意: 当我在构建期间尝试以下时,我能够在“服务”命令期间获得这些值,但我无法更改它们

sudo REACT_APP_API_HOST=localhost REACT_APP_API_PORT=5050  npm run build

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...