传入我的Meteor应用程序的生产实例的配置文件?

时间:2014-01-04 07:31:24

标签: node.js meteor

所以在我的本地机器上,当我启动Meteor应用程序时,我传入一个json文件来指定这样的应用程序设置

meteor --settings local.json

这似乎有效。但是,正如meteor.com文档(http://docs.meteor.com/#deploying)中所述,在您自己的基础架构中部署应用程序时,您需要使用“meteor bundle”捆绑您的应用程序,然后将其作为节点实例运行,如此

PORT=3000 MONGO_URL=mongodb://localhost:27017/myapp node bundle/main.js

我能够做到这一点,并在我的服务器上部署了应用程序。但是,我不确定我是如何用我的配置设置传递json文件的。

PORT=3000 MONGO_URL=mongodb://localhost:27017/myapp --settings prod.json node bundle/main.js
PORT=3000 MONGO_URL=mongodb://localhost:27017/myapp node bundle/main.js --settings prod.json

--settings是Meteor的东西还是Node的东西?如果是后者,我该如何传入我的JSON文件?

2 个答案:

答案 0 :(得分:11)

--settings是一个流星的东西。

在制作中,您可以使用环境变量,因为--settings适用于meteor run或仅meteor

来自文档:

  

Meteor.settings包含特定于部署的配置选项。您可以通过将--settings选项(包含JSON数据的文件)传递给meteor run或meteor deploy,或者将服务器进程的METEOR_SETTINGS环境变量设置为JSON字符串来初始化设置

这样的事情可以起作用:

PORT=3000 MONGO_URL=mongodb://localhost:27017/myapp METEOR_SETTINGS=$(cat prod.json) node bundle/main.js

答案 1 :(得分:0)

您还可以创建一个启动脚本,如下所示:

https://www.eventedmind.com/classes/setting-up-meteor-projects/a-sample-start-script

它的代码在这里:https://github.com/cmather/meteor-start

这样的脚本也可以轻松地使用不同的环境进行开发和生产。