dotenv 配置踩坑-显示undefined

955 阅读1分钟

前言

今天在搭建项目的时候用到了dotenv,结果自己按照官方文档巧下来竟然还是不行,人麻了~

dotenv官方文档:dotenv

问题描述

在配置时,项目结构如图:

image.png

按照配置那么,我们只需要在config.default.js中写入如下代码就可以实现它将环境变量从文件加载到process.env中。

image.png

但是,但是这里犯了一个低级错误,导致调试了半天还是输出undefined,麻了麻了。。。

解决

最终在查看了dotenv的源码之后,才发现原来是自己对根目录的理解有误,改后的代码如下:

只需要给config一个对象指向你所要指向的路径并且附上具体的文件夹,即可!

image.png

dotenv的config源码如下:

地址:dotenv/main.js at master · motdotla/dotenv (github.com)

image.png

根目录指的是:process.cwd()!!!!

process是存储node.js的进程信息的一个对象哦!process 进程 | Node.js API 文档 (nodejs.cn)

而不是你创建的项目文件夹!!

总结

看源码真有用,从根本解决问题~