【发布时间】:2018-11-02 20:26:55
【问题描述】:
我正在使用 Node/express 连接到 redshift 数据库。我将要连接到数据库的变量放在 .env 文件中,在我的本地机器上,我可以连接到 localhost 上的网站。
但是,当我将文件上传到服务器并更改 clientConfiguration 时,它不再起作用,即使我将 require('dotenv').config({path: }) 更改为正确的路径。我很确定路径是正确的,因为 process.env.HOST 将打印在日志中。
将出现此错误:用户“root”的密码验证失败
这是有效的硬编码部分。
var clientConfiguration = {
user: "user",
database: "database",
password: "password",
port: 1234,
host: "hosturl.com",
};
当我换上这部分时,它不再起作用了。
var clientConfiguration = {
user: process.env.USER,
database: process.env.DATABASE,
password: process.env.PASSWORD,
port: process.env.PORT,
host: process.env.HOST,
};
我认为这是因为 process.env 变量作为字符串被读入,但即使在我使用 parseInt(process.env.PORT) 之后也没有帮助——我也不需要本地机器上的 parseInt ,所以我不明白
【问题讨论】:
-
变量中的值是否包含引号?如果没有,也许您需要在变量周围添加引号?
-
我的所有字符串都有引号,但其中一些(一个或另一个)有双引号和单引号......
标签: node.js express environment-variables amazon-redshift