是否有办法在node.js应用的另一个目录中使用环境变量?



我有一个项目,文件夹结构如下,

根比;客户端,服务器

我想使用环境变量从我的根目录的。env文件在/Server/src,但是当我试图导入它在/Server/src的环境变量是未定义的。

是否有办法在服务器目录中使用这些环境变量?

// from Root directory
const dotenv = require("dotenv");
dotenv.config();
module.exports = {
NODE_ENV: process.env.NODE_ENV,
}
// from Server directory
const { NODE_ENV,} = require("./config");
console.log(NODE_ENV); //value returns undefined

从这里的文档:https://www.npmjs.com/package/dotenv

您可以在客户端文件夹文件中指定一个自定义路径到.env文件,执行

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

:)

我知道你想做什么,但除非文件路径是"./config",否则它不会工作。您说它在根目录中,所以您可能没有使用正确的路径。至少需要一个../从服务器目录返回到根目录,以访问要从中导出的文件。

话虽如此,何必麻烦呢?您应该只在需要访问环境变量的任何文件中要求dotenv。我不知道你用这种方法省了多少钱。

几乎相同的代码量,但更少,因为您没有创建这个额外的抽象层:

// from Server directory
require("dotenv").config();
console.log(process.env.NODE_ENV);

如果它来自根目录,你可以使用./,我试过了,它工作

相关内容

最新更新