Read environment variables in Node.js

前端 未结 6 2004
不知归路
不知归路 2020-11-22 11:41

Is there a way to read environment variables in Node.js code?

Like for example Python\'s os.environ[\'HOME\'].

相关标签:
6条回答
  • 2020-11-22 12:07

    To retrieve environment variables in Node.JS you can use process.env.VARIABLE_NAME, but don't forget that assigning a property on process.env will implicitly convert the value to a string.

    Avoid Boolean Logic

    Even if your .env file defines a variable like SHOULD_SEND=false or SHOULD_SEND=0, the values will be converted to strings (“false” and “0” respectively) and not interpreted as booleans.

    if (process.env.SHOULD_SEND) {
     mailer.send();
    } else {
      console.log("this won't be reached with values like false and 0");
    }
    

    Instead, you should make explicit checks. I’ve found depending on the environment name goes a long way.

     db.connect({
      debug: process.env.NODE_ENV === 'development'
     });
    
    0 讨论(0)
  • 2020-11-22 12:09
    process.env.ENV_VARIABLE
    

    Where ENV_VARIABLE is the name of the variable you wish to access.

    See Node.js docs for process.env.

    0 讨论(0)
  • 2020-11-22 12:19

    If you want to use a string key generated in your Node.js program, say, var v = 'HOME', you can use process.env[v].

    Otherwise, process.env.VARNAME has to be hardcoded in your program.

    0 讨论(0)
  • 2020-11-22 12:26

    You can use env package to manage your environment variables per project:

    • Create a .env file under the project directory and put all of your variables there.
    • Add this line in the top of your application entry file:
      require('dotenv').config();

    Done. Now you can access your environment variables with process.env.ENV_NAME.

    0 讨论(0)
  • 2020-11-22 12:28

    Why not use them in the Users directory in the .bash_profile file, so you don't have to push any files with your variables to production?

    0 讨论(0)
  • 2020-11-22 12:31

    When using Node.js, you can retrieve environment variables by key from the process.env object:

    for example

    var mode   = process.env.NODE_ENV;
    var apiKey = process.env.apiKey; // '42348901293989849243'
    

    Here is the answer that will explain setting environment variables in node.js

    0 讨论(0)
提交回复
热议问题