【问题标题】:How should I read environment variables at AWS EC2 instance in Reactjs App我应该如何在 Reactjs App 中读取 AWS EC2 实例的环境变量
【发布时间】:2018-10-17 11:30:00
【问题描述】:

我想从我的 Reactjs 应用程序中的环境变量中获取一些凭据,这对于不同的环境(即 Dev/staging/prod)会有所不同。

我在 webpack.config.js 中这样做 `

function getDotenvFilePath(){
    if(process.env.NODE_ENV === 'local'){
        console.log('u r in local ');
        return './.env.local';
    }else if(process.env.NODE_ENV === 'dev'){
        console.log('u r in development ');
        return './.env.development';
    }else if(process.env.NODE_ENV === 'int'){
        console.log('u r in int ');
        return './.env.int';
    }
}`

不同环境的不同文件,我会像这样npm run-script build:int这样从maven触发,这是正确的方法吗?

感谢

【问题讨论】:

  • 如果您使用“create-react-app”创建了您的 React 应用程序,您可以创建用于开发和生产的 .env 文件
  • Thanx @AngelSalazar 但我们没有使用“create-react-app”。我们使用了 'dotenv' 包,但它不读取 .env 文件值。

标签: java reactjs amazon-ec2 npm webpack


【解决方案1】:

基于 NODE_ENV 变量读取特定 .env 文件的小示例

我假设你有 dotenv-webpack 插件设置

module.exports = {
  ...
  plugins: [
    new Dotenv({
      path: (process.env.NODE_ENV === 'development' ? './.env.development' ? './.env.production'),
      safe: true, 
      systemvars: true, 
      silent: true 
    })
  ]
  ...
};

【讨论】:

  • 非常感谢。我会试试这个。
  • 但是我不能使用 'dotenv-webpack' 包从 EC2 实例中读取环境变量,对吧?
  • Dotenv 会将您在文件中定义的环境变量附加到 process.env 对象。
  • 我在我的 .env.development 文件中有这个 Auth0_domain=domain123 并且我在 app.js 中记录了它,就像这个 console.log('process.env.Auth0_domain: '+process.env.Auth0_domain) ;但仍然没有运气:(
猜你喜欢
  • 2021-04-26
  • 2020-11-04
  • 1970-01-01
  • 1970-01-01
  • 2018-11-13
  • 1970-01-01
  • 1970-01-01
  • 2016-01-26
  • 2021-03-08
相关资源
最近更新 更多