我有一个项目,文件夹结构如下,
根比;客户端,服务器
我想使用环境变量从我的根目录的。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);
如果它来自根目录,你可以使用./
,我试过了,它工作