Node.js 有人能告诉我为什么node不能识别我的环境变量吗?

Node.js 有人能告诉我为什么node不能识别我的环境变量吗?,node.js,sendgrid,Node.js,Sendgrid,我有一个sendgrid API密钥。我把它放在config文件夹中的一个dot.env文件中。 当我尝试使用它设置api密钥时: sgMail.setApiKey(process.env.SENDGRID_API_KEY); Node不断告诉我API键不是以“SG”开头的。 如果我尝试console.log(process.env.SENDGRID\u API\u KEY)它会给出未定义的结果。 dev.env文件内部: SENDGRID\u API\u KEY=myapikey 我在这个文

我有一个sendgrid API密钥。我把它放在config文件夹中的一个dot.env文件中。 当我尝试使用它设置api密钥时:

sgMail.setApiKey(process.env.SENDGRID_API_KEY);
Node不断告诉我
API键不是以“SG”开头的。
如果我尝试
console.log(process.env.SENDGRID\u API\u KEY)
它会给出未定义的结果。 dev.env文件内部:
SENDGRID\u API\u KEY=myapikey


我在这个文件夹中还有一个端口变量,使用起来没有问题,所以这不是文件路径的问题。这也不是输入错误。

您是否使用类似“dotenv”的包从“dev.env”文件中读取de环境变量?如果我没有弄错的话,在NodeJS中读取环境变量时不能没有类似的东西。当我学习如何导入此类变量时,我被教导将文件命名为“.env”。

您正在使用
dotenv
模块吗?我不认为这是自动发生的。虽然那篇文章是2013年的,所以可能事情已经改变了。我没有那个模块。但是为什么我的端口变量可以工作呢?它位于同一文件夹、同一文件中。为了安全起见,能否更改
.env
文件中的端口,并确保它使用的端口随文件一起更改?另一个可能正在设置
端口
。当节点执行时,它已经从操作系统中携带了一些环境变量。您可以使用
console.log(process.env)
来尝试这一点。可能有一个
端口
定义。安装并遵循dotenv模块的说明,或者使用其他等效工具,这些工具需要从配置文件中加载env道具。好的,dotenv软件包肯定有效。谢谢蒂亚戈。