问题描述
我正在将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
变量,请使用上述变量。