我正在使用Meteor UP进行部署,并在mup.json文件和包含它们的文件server / lib / env.js中设置了环境变量。
以下是访问它的地方:
Meteor.startup(function() {
// Remove configuration entries in case service is already configured
Accounts.loginServiceConfiguration.remove({
service: "facebook"
});
// Add Facebook configuration entry
Accounts.loginServiceConfiguration.insert({
"service": "facebook",
"appId": process.env.FACEBOOK_1,
"secret": process.env.FACEBOOK_2
});
});
然而,在浏览器中我得到“无效的应用程序ID:null”,但它在开发中有效,有什么想法吗?
答案 0 :(得分:4)
使用Meteor.settings。
在.config/development/settings.json
中定义设置。
在流星项目的根目录中创建shell脚本(dev.sh
):
#!/bin/bash
meteor --settings .config/development/settings.json
而是使用命令meteor
运行./dev.sh
mup init
使用生成的文件mup.json
和settings.json
创建“部署目录”。
在meteor app目录之外执行mup init
非常重要,因此部署配置不会存储在应用服务器上。
settings.json
的示例:
{
"service_id":"...",
"service_secret":"...",
"public":{
"service_name":"..."
}
}
如果设置对象包含名为public的键,则 Meteor.settings.public将在客户端以及 服务器。 Meteor.settings的所有其他属性仅定义于 服务器。
仅限服务器:
Meteor.settings.service_id
Meteor.settings.service_secret
服务器和客户端:
Meteor.settings.public.service_name
相应地更改路径Hubert OG
的评论