settings - 在自有生产环境中访问 Meteor 设置

标签 settings meteor production-environment

根据 Meteor 的 documentation ,我们可以通过命令行包含一个设置文件来提供特定于部署的设置。

然而,--settings选项似乎只能通过 run 获得和 deploy命令。如果我在自己的基础架构上运行 Meteor 应用程序 - 如 documentation 的在您自己的基础架构上运行部分所述- 似乎没有办法在过程中的任何地方指定特定于部署的设置文件。

有没有办法在生产环境中访问 Meteor 设置,在我自己的基础设施上运行?

最佳答案

是的,将设置内容包含在环境变量中 METEOR_SETTINGS .例如,
export METEOR_SETTINGS='{"privateKey":"MY_KEY", "public":{"publicKey":"MY_PUBLIC_KEY", "anotherPublicKey":"MORE_KEY"}}'
然后正常运行 meteor 应用程序。

这将填充 Meteor.settings 对象已正常。对于上面的设置,

Meteor.settings.privateKey == "MY_KEY" #Only on server
Meteor.settings.public.publicKey == "MY_PUBLIC_KEY" #Server and client
Meteor.settings.public.anotherPublicKey == "MORE_KEY" #Server and client

对于我们的 project ,我们使用 upstart脚本并将其包含在那里(尽管 upstart 的语法略有不同)。但是,如果您使用普通的 shell 脚本启动它,您只需要包含 export node 命令之前的语句。例如,您可以使用如下脚本:
export METEOR_SETTINGS='{"stuff":"real"}'
node /path/to/bundle/main.js

或者
METEOR_SETTINGS='{"stuff":"real"}' node /path/to/bundle/main.js
您可以找到有关 bash 变量的更多信息 here .

关于settings - 在自有生产环境中访问 Meteor 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16090281/

相关文章:

.net-core - .NET Core 存储应用程序设置的方式是什么?

Meteor/Blaze - 参数中的简单字符串连接

c# - Properties.Settings.Default 存储在哪里?

android - 启用 Android 系统触摸声音

c# - 来自设置的消息框文本

javascript - 在 Meteor 中使用 fs 模块获取 Uncaught TypeError _fs2.default.readFile 不是函数

node.js - 为什么 Meteor-Npm 不断尝试从互联网获取包

交响乐 4 : Uncaught RuntimeException: APP_ENV environment variable is not defined

cakephp - 如何配置CakePHP以检测我的开发/生产环境,还是只将配置文件置于版本控制之外?