dotenv 文件未加载环境变量

2022-08-30 05:31:46

我在根文件夹文件有.env文件

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

和文件夹中的文件。文件的第一行是server.jsroot/app/config/server.jsserver.js

require('dotenv').config();

我还尝试了以下操作:

require('dotenv').config({path: '../.env'});

require('dotenv').config({path: '../../.env'});

但是,当我从命令提示符运行服务器.js文件时,我的env变量未加载

node root/app/config/server.js

如果我使用可视化工作室并按F5,它就会加载!!

我不确定我做错了什么,我错过了什么。任何建议都非常感谢。谢谢。


答案 1

使用怎么样?require('dotenv').config({path:__dirname+'/./../../.env'})

您的问题似乎是执行路径。


答案 2

这解决了我在Node中的问题:v8.14.1

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

简单地做就产生了一个解析为require('dotenv').config({path:__dirname+'/./../../.env'})/some/path/to/env/./../../.env