在Node JS中将mysql与流程变量连接起来

时间:2017-10-17 14:00:47

标签: javascript mysql node.js express

我是Node JS的新手,并试图让它与MySQL连接。 在学习的过程中,我遇到了一段我不明白的片段。它如下:

const mysqlServer = `mysql://${process.env.DB_USERNAME}:${process.env.DB_PASSWORD}@${process.env.DB_SERVER}`;

有人能告诉我这件事发生了什么吗? 当我打印mysqlServer时,它输出为:

mysql://undefined:undefined@undefined

请帮助.. !!

1 个答案:

答案 0 :(得分:0)

  

流程对象是一个全局流程,它提供有关当前Node.js流程的信息并对其进行控制。作为一个全局,它始终可用于Node.js应用程序而不使用require()。

- source

  

process.env属性返回包含用户环境的对象。请参阅environ(7)

- source

因此代码正在读取几个环境变量并将它们插入到字符串中。

由于您未定义,因此它们显然不是已定义的环境变量。

如何定义环境变量,毫不奇怪,取决于您正在使用的环境。

例如,在bash中您可以:

export DB_USERNAME=example 
export DB_PASSWORD=example
export DB_SERVER=localhost
node myscript.js

(可以将其作为一行进行,但是您的密码最终会出现在正在运行的进程列表中,这对安全性不利)。