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

Dav*_*and 2 javascript es6-modules dotenv

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

应用程序.js

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

let x = process.env.David;
console.log(x);
Run Code Online (Sandbox Code Playgroud)

.env

David = test
Run Code Online (Sandbox Code Playgroud)

Ozg*_*Sar 29

尝试将环境配置放在单独的文件中并首先导入它。

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


// index.js
import './loadEnv';
import express from 'express';
let x = process.env.David;
console.log(x);
Run Code Online (Sandbox Code Playgroud)


小智 6

import "dotenv/config.js";
Run Code Online (Sandbox Code Playgroud)

对于.env所有文件中的变量,请使用上述内容。