ऐसा कोई चीजों के रूप में संलग्न के रूप में उपयोग करने के लिए न ब्राउज़र में विषाणु चर।
$location
सेवा हमेशा आपके वर्तमान यूआरएल प्राप्त करने जा रही है। मुझे लगता है कि आपका एपीआई एक अलग मेजबान पर रह सकता है।
कोणीय स्थिरता में कॉन्फ़िगरेशन संग्रहीत करके पर्यावरण चर को अनुकरण करना संभव है।
app.constant('env', {
API_URL: "http://someurl.com:8080/api"
});
फिर आप अपने अन्य प्रदाताओं में इस स्थिरता को इंजेक्ट कर सकते हैं।
app.controller('MyController', function($http, env) {
$http.get(env.API_URL);
});
यहां best practices with constants पर एक सभ्य लेख है। आलेख स्थिरांक का उपयोग नहीं कर रहा है, क्योंकि कोड को पुनर्निर्माण किए बिना कॉन्फ़िगरेशन को संशोधित करने में सक्षम होना उपयोगी है।
जिस तरह से मैं इसे सामान्य रूप से संभालता हूं, वह सभी उदाहरण कॉन्फ़िगरेशन विवरण config.json
फ़ाइल पर ले जाना है, फिर जब मैं अपने एप्लिकेशन को बूटस्ट्रैप करता हूं तो इसे $http
से लोड करें।
उदाहरण के लिए, आपके पास इस तरह की एक कॉन्फ़िगरेशन फ़ाइल हो सकती है।
{
apiUrl: "http://someurl.com:8080/api"
}
फिर एक कोणीय सेवा जो इसे लोड करती है।
app.service('Config', function($http) {
return function() {
return $http.get('config.json');
};
});
फिर अन्य सेवाएं वादे को पकड़ सकती हैं, जो हल होने पर कॉन्फ़िगरेशन का पर्दाफाश करेगी।
app.controller('MyController', function($http, Config) {
Config()
.then(function(config) {
$http.get(config.apiUrl);
});
});
* "मैं एपीआई पता पर्यावरण परिवर्तनीय होना चाहता हूं" *। इसे बेहतर समझाओ। – dfsq