【问题标题】:Why does env variable return undefined when accessed outside the root directory?为什么 env 变量在根目录外访问时返回 undefined?
【发布时间】:2022-10-04 16:29:04
【问题描述】:

我无法从不在根目录中的文件中获取存储在 .env 中的值。我是使用环境变量的新手,因此将不胜感激。

我的文件结构如下:

folder1
  file1.js
.env
app.js

.env:

SOME_VARIABLE="rainy_sunday"
PASSWORD="apple99"

应用程序.js:

import dotenv from 'dotenv';
dotenv.config();
console.log(process.env.PASSWORD); //this works

文件 1.js:

console.log(process.env.PASSWORD); //this returns undefined
//cannot access this variable from inside file1

【问题讨论】:

  • 你如何执行app.jsfile1.js?这些是两个文件的全部内容吗?
  • 我在节点项目中设置了这些。我想这样问会更容易。我的项目设置如下: app.js .env controllers/authController.js 我需要从控制器文件中获取 env 变量,以便连接到数据库并注册/验证用户。
  • 不是专家dotenv,我将简单地给你一个更好的选择:wj-config.这应该可以满足您的所有配置需求等等。

标签: node.js environment-variables


【解决方案1】:

如果您使用node folder1/file1.js 运行file1.js,您还需要将此dotenv 配置设置添加到file1.js

import dotenv from 'dotenv';
dotenv.config();

或者,如果您导入任何已经包含这些行的文件,您将可以访问环境变量,因为这些行将在导入时运行。因此,如果 file.jsapp.js 导入,那也可以。

【讨论】:

    猜你喜欢
    • 2021-08-15
    • 1970-01-01
    • 2023-02-25
    • 2022-11-02
    • 2023-03-20
    • 2020-05-14
    • 2018-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多