कोई भी Meteor.js का उपयोग कर होस्टिंग पर्यावरण का पता लगाने के लिए अभी तक वाक्यविन्यास या पैटर्न को समझता है? मुझे हेरोोकू बिल्डपैक्स काम कर रहे हैं, और एक देव/उत्पादन वातावरण है, लेकिन मैं अपने ऐप को यह पता लगाने के लिए एक खाली चित्रण कर रहा हूं कि यह पता लगाने के लिए कि यह कौन सा वातावरण चल रहा है।Meteor.js के साथ पर्यावरण का पता लगाना?
क्या नोड होने का कोई तरीका है। जेएस यह पता लगाता है कि यह किस पोर्ट पर चल रहा है? मैं उम्मीद कर रहा था कि ऐप.ड्रेस() पोर्ट जैसी कुछ निम्न स्तर हो सकती है, लेकिन यह काम नहीं लग रहा है ...
संपादित करें: यह वह समाधान है जो मेरे लिए काम करता है। ध्यान दें कि सर्वर पर निम्न को चलाने की आवश्यकता है, इसलिए इसे सर्वर \ 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.");
});
धन्यवाद राहुल!
यदि आप काम करने वाले कोड को पोस्ट करना चाहते हैं, तो बस अपना खुद का प्रश्न संपादित करें और उल्लेख करें कि यह आपके लिए काम करता है, या कोड के साथ उत्तर पोस्ट करता है। मेरा जवाब संपादित करना वास्तव में ऐसा करने का सही स्थान नहीं है। :) – Rahul
ओह! क्रमबद्ध चीजें बाहर। मदद के लिए एक बार फिर से धन्यवाद! :) – AbigailW
यह कोड बेहद सहायक है, लेकिन एक एफवाईआई के रूप में शुरुआत में यह अनिर्धारित हो गया (मुझे एसिंक लैग की वजह से विश्वास है) जब मैंने पहली तर्क के रूप में त्रुटि को जोड़ा और त्रुटि को लॉग करने के लिए इसे सशर्त में शामिल किया, तो यह काम करता था। –