我已经在本地制作了 React & Go 产品。 我将把它部署到 AWS EC2。
为了在 AWS EC2 中工作,我需要为一些 secret 信息设置环境变量。
我已经为本地环境设置了环境变量。但我不确定 适用于生产环境 (AWS EC2) 的环境变量。
我已经为本地环境设置了 env.
文件。
但不确定如何在 ec2 中设置环境变量。
我为 axios、firebase 和 mysql 使用环境变量。
//axios
const client = axios.create({
baseURL: process.env.REACT_APP_API_URL,
});
client
.get('/api/articles')
.then(response => {
this.setState({articles: response.data});
})
.catch(response => console.log('ERROR!! occurred in Backend.'));
//firebases
const firebaseConfig = {
apiKey: process.env.REACT_APP_FIREBASE_API_KEY,
authDomain: process.env.REACT_APP_FIREBASE_AUTH_DOMAIN,
databaseURL: process.env.REACT_APP_FIREBASE_DATABASE_URL,
projectId: process.env.REACT_APP_FIREBASE_PROJECT_ID,
storageBucket: '',
messagingSenderId: process.env.REACT_APP_FIREBASE_MESSAGING_SENDER_ID,
appId: process.env.REACT_APP_FIREBASE_APP_ID,
};
firebase.initializeApp(firebaseConfig);
export default firebase;
//mysql
err := godotenv.Load()
if err != nil {
//TODO production
}
db, err := sql.Open("mysql", os.Getenv("MYSQL_USER")+":"+os.Getenv("MYSQL_PASSWORD")+"@tcp(localhost:3306)/article")
if err != nil {
panic(err.Error())
}
defer db.Close()
err = db.Ping()
if err != nil {
panic(err.Error())
}
这是github。 https://github.com/jpskgc/article
我打算在 AWS EC2 中部署这个 React & Golang 产品。 但是我不确定如何设置环境变量。
最佳答案
在用于在 EC2 上启动服务器的 shell 脚本中,添加环境变量定义,例如:
export ENV_VAR_1=value_1
export ENV_VAR_2=value_2
... start your server ...
请注意,这仅适用于服务器端。 React App 由在客户端浏览器中运行的 Javascript 组成,您无法控制那里的环境变量。
如果我没看错的话,上面的Axios
代码摘录是React前端的一部分。你不能在那里有 process.env
因为这是在客户机器上执行的。
关于reactjs - 如何在aws ec2中设置环境变量以进行 react 和进入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57184201/