dotenv file is not loading environment variables

后端 未结 9 1490
别那么骄傲
别那么骄傲 2020-12-13 08:36

I have .env file at root folder file

NODE_ENV=development
NODE_HOST=localhost
NODE_PORT=4000
NODE_HTTPS=false
DB_HOST=localhost
DB_USERNAME=user
DB         


        
相关标签:
9条回答
  • 2020-12-13 09:09

    Here is a single-line solution:

    require('dotenv').config({ path: require('find-config')('.env') })
    

    This will recurse parent directories until it finds a .env file to use.

    You can also alternatively use this module called ckey inspired from one-liner above.

    .env file from main directory.

    # dotenv sample content
    USER=sample@gmail.com
    PASSWORD=iampassword123
    API_KEY=1234567890
    

    some js file from sub-directory

    const ck = require('ckey');
    
    const userName = ck.USER;     // sample@gmail.com
    const password = ck.PASSWORD; // iampassword123
    const apiKey   = ck.API_KEY;  // 1234567890
    
    0 讨论(0)
  • 2020-12-13 09:10

    This solved the issue for me:

    const path = require('path');
    require('dotenv').config({
      path: path.resolve('config.env'),
    });
    
    0 讨论(0)
  • 2020-12-13 09:10

    One time I have got the same problem. Dotenv did not load .env file. I tried to fix this problem with a path config, to put .env file in a root folder, to put .env in the folder where the file is running and nothing helps me. Then I just trashed Node_modules folder, reinstall all dependencies and it works correctly

    0 讨论(0)
  • 2020-12-13 09:21

    This solved my issues in Node v8.14.1:

    const path = require('path')
    require('dotenv').config({ path: path.resolve(__dirname, '../.env') })
    

    Simply doing require('dotenv').config({path:__dirname+'/./../../.env'}) resulted in a location that resolved as /some/path/to/env/./../../.env

    0 讨论(0)
  • 2020-12-13 09:26

    Adding a little nuance to the answer above - if you are invoking dotenv from a nested file, and your .env file is at the project root, the way you want to connect the dots is via the following:

    require('dotenv').config({path:'relative/path/to/your/.env'})
    
    0 讨论(0)
  • 2020-12-13 09:28

    How about use require('dotenv').config({path:__dirname+'/./../../.env'}) ?

    Your problem seems to be the execution path.

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