带有 dotenv 环境变量包的流星:未定义"process"



我正在使用Meteor包dotenv: https://github.com/okgrow/meteor-dotenv为我的API密钥添加安全性根据指示,我:1. 创建了一个名为"。"羡慕"在我的根2. 在文件中以"THIS_KEY=BLAH12345"的样式输入了两个键3.创建一个流星调用函数,返回process.env。客户端使用的THIS_KEY。

我得到了Referenceerror: process。Env没有定义。对于普通节点来说,有很多答案,但对于流星来说就不是这样了。我的文件命名错了吗?需要使用流星命令来激活某些东西?

我遇到了同样的问题,并通过将

var secretThing = process.env.SECRET_THING

服务器端,在if (Meteor.isServer)中,然后将变量作为参数传递给需要使用秘密内容的方法。

Meteor.call("apiCall", secretThing);

那么接收方法看起来像这样:

    apiCall: function (secretThing) {
        console.log(secretThing);
    }

DotEnv用于从.env文件中读取环境变量,该文件通常位于NodeJS应用程序的根目录中。

DotEnv只是通过process.env

使它在。env文件中找到的变量与其他主机系统环境变量可用。

问题是,我不相信meteor支持。env文件。这可能是由于应用程序的年龄。我个人认为他们应该优先解决这个问题。

在流星应用程序中使用process.env的唯一方法是设置要在主机系统上使用的变量。如果你使用的是linux,它会像

export DB_PASSWORD=12345

您应该能够使用process。

当你的应用程序正在运行时读取DB_PASSWORD。
// You can only run process.env in server code
if (Meteor.isServer) {
   const myDBPassword = process.env.DB_PASSWORD
}

相关内容

  • 没有找到相关文章

最新更新