我在 Express App 上看不到环境变量

I can't see environment variable on Express App

变量设置在.bashrc。我可以在终端 $echo MY_VAR 上看到它们。我也可以在 Node.js shell process.env.MY_VAR 上看到它们。但我在我的 Express 应用程序中看不到它。 file.js console.log("My var: "+process.env.MY_VAR); 显示:'My var'

提前致谢

.bashrc 在您启动终端会话时执行,该终端会话是当前用户会话的子会话。

所以...终端外的用户会话对 .bashrc 中的任何内容一无所知。

现在...您的节点控制台 运行s 在当前终端的用户会话中。

所以...如果您 运行 在终端会话之外的 js 脚本,它 运行 会包含用户会话的新副本。

所以...您需要在 .bash_profile 中创建您的变量,该变量在用户登录时执行...并且其中的所有内容对整个用户会话都有效。