reactjs - 如何在aws ec2中设置环境变量以进行 react 和进入

标签 reactjs amazon-web-services go environment-variables

我已经在本地制作了 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/

相关文章:

javascript - 通过高阶组件的默认 Prop 类型

java - AWS 托管现有的 Java 应用程序

c - Go:导入和 C 库之间的类型冲突

go - 是否可以在单个 Go 二进制文件中使用多个 lambda 函数?

mysql - 在heroku上部署node应用程序时如何连接mysql

javascript - 在组件外部的 react-router v5 中以编程方式访问历史记录(history.push 等)

javascript - 处理 react redux 中的获取错误的最佳方法是什么?

pandas - 调用 sagemaker 端点时如何构建 "text/csv"有效负载

amazon-web-services - AWS 的最佳 JMS 实现

google-app-engine - goji 可以与 Google App Engine/Go 一起使用吗?