Meteor.js を使用してホスティング環境を検出するための構文またはパターンをまだ理解している人はいますか? Heroku ビルドパックが動作していて、開発/運用環境がありますが、アプリがどの環境で実行されているかをアプリに検出させる方法については、空白を描いています。
node.js が実行されているポートを検出する方法はありますか? app.address().port のような低レベルの何かがあるかもしれないと思っていましたが、うまくいかないようです...
編集:これは私のために働いた解決策です。以下はサーバー上で実行する必要があるため、server\server.js または同様のファイルに含める必要があることに注意してください。
if (Meteor.is_server) {
Meteor.startup(function () {
// we want to be able to inspect the root_url, so we know which environment we're in
console.log(JSON.stringify(process.env.ROOT_URL));
// in case we want to inspect other process environment variables
//console.log(JSON.stringify(process.env));
});
}
また、以下を作成しました。
Meteor.methods({
getEnvironment: function(){
if(process.env.ROOT_URL == "http://localhost:3000"){
return "development";
}else{
return "staging";
}
}
});
これにより、クライアント側で次のことが可能になります。
Meteor.call("getEnvironment", function (result) {
console.log("Your application is running in the " + result + "environment.");
});
ありがとうラフル!