我有一个项目,文件夹结构如下,
根 > 客户端、服务器
我想使用 /Server/src 中根目录的 .env 文件中的环境变量,但是当我尝试将其导入 /Server/src 时,环境变量未定义。
有没有办法使用Server目录中的那些环境变量?
// 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);
如果它来自根目录,你可以使用
./
我尝试了这个并且它有效