不能将 dotenv 与 ES6 模块一起使用

Can't use dotenv with ES6 modules

我正在将一个 Express 应用程序从 CommonJS require 语法迁移到 ES6 模块 import 语法。这很好,直到我尝试使用 dotenv 加载我的环境变量,并且每次我尝试访问这些变量时,它们都会返回未定义的状态。

app.js

// importing environmental variables
import dotenv from 'dotenv';
dotenv.config();
import express from 'express';

let x = process.env.David;
console.log(x);

.env

David = test

尝试将 env 配置放在一个单独的文件中,然后先将其导入。

// loadEnv.js
import dotenv from 'dotenv';
dotenv.config()


// index.js
import './loadEnv';
import express from 'express';
let x = process.env.David;
console.log(x);
import "dotenv/config.js";

对于所有文件中的 .env 个变量,请使用上述方法。

 // importing environmental variables
        import express from 'express';
        import { config } from "dotenv";
        config({ path: process.ENV })
            
        let x = process.env.David;
        console.log(x);