nodejs dotenv-不正确读取字符串值



我正在nodejs中使用dotenv(https://github.com/motdotla/dotenv),以存储我使用的OAuth服务器的客户端秘密值。

我的.env文件看起来如下:

clientSecret=imU86A3oPiZlyOhZybShraP377ers0MvowBaizEQ

在nodejs文件中,我有以下内容:

passport.use(new PasswordGrantStrategy({
    tokenURL: 'WEBSITE_ADDRESS',
    clientID: "2",
    clientSecret: process.env.clientSecret,
    grantType: "password",
},

问题是我得到了Token Error,但是,如果我更改以下内容:

passport.use(new PasswordGrantStrategy({
    tokenURL: 'WEBSITE_ADDRESS',
    clientID: "2",
    clientSecret: "imU86A3oPiZlyOhZybShraP377ers0MvowBaizEQ",
    grantType: "password",
},

这样可以很好地工作。我不明白问题可能是什么,我试图将其作为字符串,但没有运气。

这些值既匹配了,我正在将它们打印出来,它们都相同。

使用 Backtick 包装字符串值,您的生活将变得轻而易举!

clientSecret=`imU86A3oPiZlyOhZybShraP377ers0MvowBaizEQ`

确保已安装Dotenv确保您在应用程序中尽早配置Dotenv

require('dotenv').config({path: __dirname + '/.env'});

注意:在某些设置中使用 path参数的好主意,例如,如果使用调试器否则dotenv可能找不到并加载.env文件。

如果您需要动态设置应用程序变量中的环境值

 for(const [keyObj, valObj] of Object.entries(data)){
     for(const [key, value] of Object.entries(valObj)){
         app.set(key.toLocaleLowerCase(), value);
     }
 }

最新更新