【发布时间】:2020-04-26 19:07:47
【问题描述】:
自从我成为 Linux 用户 10 多年以来,这感觉有点尴尬。但是,我遇到了一个我无法理解的问题。
假设我想公开一个环境变量SECRET,我可以从节点访问它
process.env.SECRET
我只想写这是我启动应用程序的同一个终端
# Linux bash
$ export SECRET=Ultr4Secr3t
$ echo $SECRET
$ > Ultr4Secr3t
然后运行节点应用nodejs app.js
// app.js
console.log(process.env.SECRET)
> Ultr4Secr3t
一切都好!
但我真的很想在 repo 中有一个 .env 文件。
.env 文件示例
SECRET=Ultr4Secr3t
# Linux bash
$ . .env # On Mac we had to do ". ./.env"
$ echo $SECRET
$ Ultr4Secr3t
现在当我运行应用程序时发生了奇怪的事情
然后运行节点应用nodejs app.js
// app.js
console.log(process.env.SECRET)
> undefined
为什么是undefined?我宁愿不必使用dotenv 包。
【问题讨论】:
标签: node.js linux unix environment-variables