AngularJS साथ RequireJS का उपयोग करते हुए कि उनमें से प्रत्येक, निर्भरता इंजेक्शन के बारे में काम करता है के रूप में हालांकि उन दोनों निर्भरता इंजेक्शन, वे बहुत अलग बातें इंजेक्षन समझ में आता है लेकिन आप समझ ही सकते हैं।
एंगुलरजेएस की अपनी निर्भरता प्रणाली है जो आपको कार्यान्वयन का पुन: उपयोग करने के लिए एक नए बनाए गए मॉड्यूल में कोणीय जेएस मॉड्यूल इंजेक्ट करने देती है। मान लीजिए कि आप एक "पहला" मॉड्यूल है कि एक AngularJS फिल्टर लागू करता बनाई दें "नमस्कार":
angular
.module('first', [])
.filter('greet', function() {
return function(name) {
return 'Hello, ' + name + '!';
}
});
और अब मान लीजिए कि आप नामक एक अन्य मॉड्यूल में "नमस्कार" फिल्टर का उपयोग करना चाहते हैं "दूसरी" है कि एक "अलविदा लागू करता है "फ़िल्टर करें। आपको लगता है कि "दूसरी" मॉड्यूल "पहले" मॉड्यूल इंजेक्शन लगाने के कर सकते हैं:
angular
.module('second', ['first'])
.filter('goodbye', function() {
return function(name) {
return 'Good bye, ' + name + '!';
}
});
बात क्रम RequireJS बिना सही ढंग से इस काम बनाने के लिए, आप यह सुनिश्चित करना है कि यह है कि "पहले" AngularJS मॉड्यूल "दूसरा" AngularJS मॉड्यूल बनाने से पहले पृष्ठ पर लोड किया गया है। उद्धरण दस्तावेज:
मॉड्यूल के आधार पर यह आवश्यक है कि आवश्यक मॉड्यूल लोड होने से पहले आवश्यक मॉड्यूल को लोड करने की आवश्यकता है।
उस अर्थ में, आवश्यकता है जहां आवश्यकताजेएस आपकी मदद कर सकता है क्योंकि RequJS पृष्ठ पर स्क्रिप्ट को इंजेक्ट करने का एक साफ तरीका प्रदान करता है जिससे आप एक-दूसरे के बीच स्क्रिप्ट निर्भरताओं को व्यवस्थित करने में मदद कर सकते हैं।
वापस "पहले" और "दूसरा" AngularJS मॉड्यूल के लिए जा रहे हैं, यहाँ आप यह कैसे स्क्रिप्ट लाभ उठाने के लिए अलग अलग फ़ाइलों पर मॉड्यूल को अलग करने RequireJS का उपयोग कर सकते है निर्भरता लोड हो रहा है:
// firstModule.js file
define(['angular'], function(angular) {
angular
.module('first', [])
.filter('greet', function() {
return function(name) {
return 'Hello, ' + name + '!';
}
});
});
// secondModule.js file
define(['angular', 'firstModule'], function(angular) {
angular
.module('second', ['first'])
.filter('goodbye', function() {
return function(name) {
return 'Good bye, ' + name + '!';
}
});
});
आप देख सकते हैं कि हम Requजेस कॉलबैक की सामग्री से पहले इंजेक्शन के लिए "फर्स्ट मॉड्यूल" फ़ाइल पर निर्भर करते हैं, जिसे "दूसरा" AngularJS मॉड्यूल "दूसरा" AngularJS मॉड्यूल बनाने के लिए लोड किया जाना चाहिए।
साइड नोट: "प्रथम मॉड्यूल" और "सेकेंड मॉड्यूल" फ़ाइलों पर निर्भरता के रूप में "कोणीय" इंजेक्शन की आवश्यकता होती है ताकि आवश्यकताजेस कॉलबैक फ़ंक्शन के अंदर एंगुलरजेएस का उपयोग किया जा सके और इसे "कोणीय" को मैप करने के लिए RequJS कॉन्फ़िगरेशन पर कॉन्फ़िगर किया जाना चाहिए पुस्तकालय कोड। आपके पास AngularJS को पारंपरिक तरीके से पृष्ठ पर लोड किया जा सकता है (स्क्रिप्ट टैग) हालांकि RequJS लाभ को हरा देता है।
मेरे ब्लॉग पोस्ट पर 2.0 संस्करण से AngularJS कोर से RequJS समर्थन रखने के बारे में अधिक जानकारी।
मेरे ब्लॉग पोस्ट "AngularJS साथ RequireJS की भावना बनाना" के आधार पर, यहाँ link है।
मुझे लगता है कि इस प्रश्न पर टिप्पणी उपयोगी हो सकता है http://stackoverflow.com/q/12529083/1236044 – jbl
@jbl ऐसा लगता है कि सवाल तिथि कम 'पूछा सितं, 21 '12 है 10: 49' पर। यहां कोणीय टीम द्वारा प्रदान किया गया उदाहरण: https://github.com/angular/angular-seed/blob/master/app/index-async.html मेरे भ्रम से बात करता है। –
यहां एक शानदार वीडियो है जो दिखाता है कि angularJS https://www.youtube.com/watch?v=4yulGISBF8w#t=142 – gskalinskii