不能将 dotenv 与 ES6 模块一起使用
Posted
技术标签:
【中文标题】不能将 dotenv 与 ES6 模块一起使用【英文标题】:Can't use dotenv with ES6 modules 【发布时间】:2021-02-13 15:41:21 【问题描述】:我正在将 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
【问题讨论】:
向我们展示您尝试转换的 commonJS 语法 【参考方案1】:import "dotenv/config.js";
对于所有文件中的.env
变量,请使用上述内容。
【讨论】:
【参考方案2】:尝试将 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);
【讨论】:
我很高兴能帮助@DavidMulholland。请考虑接受此答案或任何其他对您有用的答案。以上是关于不能将 dotenv 与 ES6 模块一起使用的主要内容,如果未能解决你的问题,请参考以下文章